- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有带有渐变背景和圆角的自定义 JButton 类。我应该覆盖 setText() 还是应该怎么做才能在其上显示文本? setText("text") 无效。
UPD:我试过 setContentAreaFilled(false),就像 MadProgrammer 建议的那样,它解决了这个问题,但另一个出现了。我在不同的选项卡上有这样的按钮,当它们被重新绘制时,它们会出现几毫秒,就像它们都在同一个选项卡上一样。更新的代码在这里:
public class DarkGradientButton extends JButton {
private Color startColor = new Color(178, 178, 178);
private Color endColor = new Color(131, 131, 131);
private Color disstartColor = new Color(252, 252, 252);
private Color disendColor = new Color(221, 221, 221);
private Color enstartColor = new Color(178, 178, 178);
private Color enendColor = new Color(131, 131, 131);
public DarkGradientButton(String text, ImageIcon ii) {
super(text, ii);
this.setContentAreaFilled(false);
}
public DarkGradientButton() {
super();
this.setContentAreaFilled(false);
}
@Override
protected void paintComponent( Graphics g )
{
g.setColor(new Color(246,250,245));
int h = getHeight();
int w = getWidth();
GradientPaint gradientPaint = new GradientPaint( 0 , 0 , startColor , 0 , h , endColor );
int[] x = {0, 1, w-1, w, w, w-1, w-2, 2, 1, 0};
int[] y = {1, 0, 0, 1, h-3, h-2, h-1, h-1, h-2, h-3};
Graphics2D graphics2D = (Graphics2D)g;
graphics2D.setPaint( gradientPaint );
graphics2D.fillPolygon(x, y, x.length);
graphics2D.setColor(this.getForeground());
super.paintComponent( g );
}
public void makeDisable() {
startColor = disstartColor;
endColor = disendColor;
Graphics g = this.getGraphics();
paintComponent(g);
this.repaint();
}
public void makeEnable() {
startColor = enstartColor;
endColor = enendColor;
Graphics g = this.getGraphics();
paintComponent(g);
this.repaint();
}
}
选项卡上的按钮(这是 Netbeans 为我生成的):
callStartButton = new gui.DarkGradientButton(language[25], new ImageIcon("pic\\call-start.png"));
callStartButton.setBorder(null);
callStartButton.setForeground(new java.awt.Color(255, 255, 255));
callStartButton.setFont(new java.awt.Font("Arial", 1, 12)); // NOI18N
callStartButton.setPreferredSize(new java.awt.Dimension(95, 23));
callStartButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
callStartButtonActionPerformed(evt);
}
});
org.jdesktop.layout.GroupLayout callPanelLayout = new org.jdesktop.layout.GroupLayout(callPanel);
callPanel.setLayout(callPanelLayout);
callPanelLayout.setHorizontalGroup(
callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(callPanelLayout.createSequentialGroup()
.add(callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(callPanelLayout.createSequentialGroup()
.add(19, 19, 19)
.add(callStartButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(callStopButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(callPanelLayout.createSequentialGroup()
.addContainerGap()
.add(numberLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 63, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(numberExampleLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 128, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(callPanelLayout.createSequentialGroup()
.add(codeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 47, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(numberField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 89, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.add(callPanelLayout.createSequentialGroup()
.add(25, 25, 25)
.add(callProgressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 190, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(14, Short.MAX_VALUE))
);
callPanelLayout.setVerticalGroup(
callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(callPanelLayout.createSequentialGroup()
.addContainerGap()
.add(callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(numberField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(codeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(numberLabel))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(numberExampleLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(18, 18, 18)
.add(callPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(callStartButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(callStopButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 8, Short.MAX_VALUE)
.add(callProgressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(13, 13, 13))
);
org.jdesktop.layout.GroupLayout testPanelLayout = new org.jdesktop.layout.GroupLayout(testPanel);
testPanel.setLayout(testPanelLayout);
testPanelLayout.setHorizontalGroup(
testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createSequentialGroup()
.add(8, 8, 8)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createSequentialGroup()
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(ascii, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(0, 0, 0)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(hex, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jScrollPane9)))
.add(lightGradientPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(testPanelLayout.createSequentialGroup()
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createSequentialGroup()
.add(testManagementPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(testResultPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(testPanelLayout.createSequentialGroup()
.add(testModemHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(testResultHeaderPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(0, 0, 0)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(callHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(callPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(modemModelPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(modemHeaderPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(modemModelHeaderPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(modemParamsPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(simPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 240, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(testModemHeaderPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 240, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(17, 17, Short.MAX_VALUE))
.add(testPanelLayout.createSequentialGroup()
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, testPanelLayout.createSequentialGroup()
.add(10, 10, 10)
.add(userGuideButton5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(irzLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 117, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(testPanelLayout.createSequentialGroup()
.add(309, 309, 309)
.add(saveASCIILogButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
testPanelLayout.setVerticalGroup(
testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createSequentialGroup()
.add(15, 15, 15)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(testPanelLayout.createSequentialGroup()
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testModemHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(testResultHeaderPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(callHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(testResultPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(testManagementPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(callPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(22, 22, 22)
.add(lightGradientPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jScrollPane9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(hex, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(org.jdesktop.layout.GroupLayout.TRAILING, ascii, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(testPanelLayout.createSequentialGroup()
.add(modemModelHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(modemModelPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(modemHeaderPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(modemParamsPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(testModemHeaderPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(0, 0, 0)
.add(simPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(testPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(testPanelLayout.createSequentialGroup()
.add(saveASCIILogButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(userGuideButton5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(org.jdesktop.layout.GroupLayout.TRAILING, testPanelLayout.createSequentialGroup()
.add(0, 34, Short.MAX_VALUE)
.add(irzLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 61, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
jTabbedPane1.addTab("tab1", testPanel);
jLayeredPane1.add(jTabbedPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);
jTabbedPane1.getAccessibleContext().setAccessibleName("");
getContentPane().add(jLayeredPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 5, -1, 660));
最佳答案
setText 不起作用的主要原因是您在其上绘画
g.fillRect(0, 0, w, h);
你会发现他的 ui 正在渲染 super.paintComponent(g)
调用中的文本,然后你在上面绘画
更新
我用下面的代码显示了一些标签,没有发现任何错误...
打包测试;
导入java.awt.BorderLayout;导入 java.awt.GridBagLayout;导入java.util.List;导入 javax.swing.*;导入 javax.swing.plaf.ColorUIResource;
公共(public)类测试按钮{
public static void main(String[] args) {
Object grad = UIManager.get("Button.gradient");
List gradient;
if (grad instanceof List) {
gradient = (List) grad;
System.out.println(gradient.get(0));
System.out.println(gradient.get(1));
System.out.println(gradient.get(2));
System.out.println(gradient.get(3));
System.out.println(gradient.get(4));
//gradient.set(2, new ColorUIResource(221, 232, 243));//origal Color
//gradient.set(2, new ColorUIResource(255, 255, 255));//origal Color
//gradient.set(2, new ColorUIResource(184, 207, 229));//origal Color
gradient.set(2, new ColorUIResource(190, 230, 240));
gradient.set(3, new ColorUIResource(240, 240, 240));
gradient.set(4, new ColorUIResource(180, 200, 220));
//UIManager.put("Button.background", Color.pink);
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new TestButton().makeUI();
}
});
}
public void makeUI() {
JButton button = new JButton("Click");
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
JTabbedPane tab = new JTabbedPane();
tab.add("Help", createPane(1));
tab.add("Help", createPane(2));
tab.add("Help", createPane(3));
tab.add("Help", createPane(4));
tab.add("Help", createPane(5));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(tab);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
protected JPanel createPane(int index) {
JPanel panel = new JPanel(new GridBagLayout());
panel.add(new JButton("Hello " + index));
return panel;
}
}
关于java - 自定义 JButton : setText doesn't have effect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11520003/
本质上,我编写的是一个益智游戏。 它包含一个图像,该图像进一步分为 9 block ,放置在包含 3x3 JButton GridLayout 的 JPanel 上。最初,9 个按钮是空的。当用户点击
我正在制作一个游戏,其中有一个名为 move(int x1, int y1, int x2, int y2) 的方法,该方法将棋子从第一个按钮 (x1,y1) 移动并将其放置在第二个按钮 (x2, y
我使用 NetBeans 创建了一个框架。该框架有两个按钮 A 和 B。按钮 A 最初被禁用。仅当单击按钮 B 时才启用。 public newFrame() { //newFrame is t
我想使用 MouseListener 从按钮矩阵中删除某个按钮,并在空白处添加 JLabel,所以我使用: import java.awt.*; import java.awt.event.*; im
我正在创建一个黑白棋游戏,想知道如何在单击时将按钮文本从 B 更改为 W,反之亦然。 我尝试将 Action 监听器添加到我的 forloop 中,这为游戏创建了我的板,当我单击标记为 W 的按钮时,
我的项目中有 7 个按钮。其中有 6 个类别,RandomSoru 按钮是随机选择其中一个类别的按钮。我想访问所选类别。 “r”是随机生成器。 RandomSoru.addActionListener
我对此感到好奇,因为我们正在 Swing 中制作游戏,并且出于某种原因将 map 图 block 制作为 jButtons 而不是 jPanels。现在我们想将单位放在它们上面,这样当单位位于它们上面
我创建了一个按钮数组: JButton bt[][]=new JButton[8][8]; 然后我通过以下方式调用一个名为 refreshBoard 的函数 public void refreshBo
我想在这篇文章的序言中告诉大家,这是我第一次发帖,所以如果有任何错误,请告诉我。 我正在尝试为我的高中计算机数学(编程)课编写一款二十一点游戏,但出现了很多错误,但真正令人烦恼的是这个错误。 我的 G
我正在创建一个“谁想成为百万富翁”游戏,并创建了一个半按钮,我想使用它来删除两个 JButton 答案。以下是两个作为答案选项的 JButton 的代码。 enter code here: Answe
我有一个 JButton,我想在按下它时创建一个新的 JButton,我添加了一个如下所示的 ActionListener,但它没有添加另一个 JButton。 public void actionP
如果在 JTextBox 中输入字符串,然后按“输入按钮”,它会在 JTextField 中返回正确的数据,如果我更改字符串,然后重新按输入,也会返回正确的数据。如果我按“输入按钮”然后按“添加”按钮
我想在单击另一个 jbutton 时获得一个 jbutton。 Here the link for sample code(Log in as jbutton,asdf as a password)
假设我创建了一个带有 jbuttons 的 2d tile map ,然后在 map 顶部创建了单位,当单位(也是一个 jbutton)位于 tile 顶部时,有没有办法显示 map 的背景,因为如何
我正在开发一个项目,我需要单击一个按钮来创建另一个按钮。最终,我希望对新按钮的位置有更多的控制,并能够多次创建新按钮,但现在......我希望只让一个 JButton 创建另一个 JButton。 使
JPanel 中有 12 个 JButton。我想单击其中一个并禁用所有其他(它将“突出显示”)。然后,如果我单击禁用的一个,则前一个将被禁用,并且过程是相同的。考虑到有 12 个按钮并且我想避免重复
我正忙于用 Java 制作游戏。然而,我正在努力让 GUI 正常工作。 我遇到的问题: 当按下按钮时,我希望它显示一个彩色圆圈,当再次按下按钮时,我希望它在旧圆圈周围画一个圆圈,这可能会发生,直到每个
大家好,我正在尝试使用 Java 创建一个简单的国际象棋游戏。我有一个 [8][8] 数组的 JButton 板。我为每个分配一个新的 SquareListener,它是一个扩展 BoardListn
我有 JButtons“暂停”和“取消暂停”。当用户暂停程序时,应禁用“暂停”按钮,并启用“取消暂停”按钮。我不知道怎么写。取消暂停按钮有效,但暂停按钮不起作用,因为“无法解决取消暂停”。怎么处理呢?
我设置了一个网格布局,中间有 16 个按钮。我在第一个按钮上放置了一个图标。 我将如何循环,当用户选择网格上的下一个按钮时,它将图标从旧位置 move 到新位置? private ArrayList
我是一名优秀的程序员,十分优秀!