我是一个编程初学者,我试图创建一个计算器,我刚刚开始大约1到2个小时前,但我遇到了一个问题,我的所有jbutton都消失了。请帮助,我已经尝试了这么长时间,我只是不知道我的代码有什么问题。
公共类主{
static void gui() {
JPanel p = new JPanel();
JFrame f = new JFrame("Calculator");
f.add(p);
f.setLayout(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setTitle("YEET");
f.pack();
f.setSize(1930, 1090);
JButton b0 = new JButton("0");
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
JButton b4 = new JButton("4");
JButton b5 = new JButton("5");
JButton b6 = new JButton("6");
JButton b7 = new JButton("7");
JButton b8 = new JButton("8");
JButton b9 = new JButton("9");
b0.setBackground(new Color(156,207,245));
b1.setBackground(new Color(156,207,245));
b2.setBackground(new Color(156,207,245));
b3.setBackground(new Color(156,207,245));
b4.setBackground(new Color(156,207,245));
b5.setBackground(new Color(156,207,245));
b6.setBackground(new Color(156,207,245));
b7.setBackground(new Color(156,207,245));
b8.setBackground(new Color(156,207,245));
b9.setBackground(new Color(156,207,245));
p.setLayout(null);
p.add(b1);
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
p.add(b9);
b0.setVisible(true);
b1.setVisible(true);
b2.setVisible(true);
b3.setVisible(true);
b4.setVisible(true);
b5.setVisible(true);
b6.setVisible(true);
b7.setVisible(true);
b8.setVisible(true);
b9.setVisible(true);
p.setVisible(true);
f.setVisible((true));
}
public static void main(String[] args) {
gui();
}
}`
null
布局是个坏主意。“像素完美”布局是一种幻觉。花时间学习如何使用布局管理API。有关更多详细信息,请参见在容器中布局组件
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.add(new TestPane());
frame.pack();
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private JButton b0 = new JButton("0");
private JButton b1 = new JButton("1");
private JButton b2 = new JButton("2");
private JButton b3 = new JButton("3");
private JButton b4 = new JButton("4");
private JButton b5 = new JButton("5");
private JButton b6 = new JButton("6");
private JButton b7 = new JButton("7");
private JButton b8 = new JButton("8");
private JButton b9 = new JButton("9");
public TestPane() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridy = 3;
gbc.gridx = 0;
gbc.weightx = 1;
gbc.fill = gbc.BOTH;
gbc.gridwidth = 3;
add(b0, gbc);
JButton[] buttons = new JButton[]{
b7, b8, b9,
b4, b5, b6,
b1, b2, b3
};
int row = 0;
int col = 0;
gbc = new GridBagConstraints();
gbc.fill = gbc.BOTH;
gbc.weightx = 0.3;
for (JButton btn : buttons) {
gbc.gridx = col;
gbc.gridy = row;
add(btn, gbc);
col += 1;
if (col > 2) {
row++;
col = 0;
}
}
}
}
}
或者,如果GridBagLayout
是少到多,则使用多个,例如BorderLayout
和GridLayout
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.add(new TestPane());
frame.pack();
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private JButton b0 = new JButton("0");
private JButton b1 = new JButton("1");
private JButton b2 = new JButton("2");
private JButton b3 = new JButton("3");
private JButton b4 = new JButton("4");
private JButton b5 = new JButton("5");
private JButton b6 = new JButton("6");
private JButton b7 = new JButton("7");
private JButton b8 = new JButton("8");
private JButton b9 = new JButton("9");
public TestPane() {
setLayout(new BorderLayout());
add(b0, BorderLayout.SOUTH);
JPanel innerPane = new JPanel(new GridLayout(3, 3));
JButton[] buttons = new JButton[]{
b7, b8, b9,
b4, b5, b6,
b1, b2, b3
};
for (JButton btn : buttons) {
innerPane.add(btn);
}
add(innerPane);
}
}
}
我是GUI的初学者。 有没有一种快速的方法可以将同一个按钮/图像设置到GUI中的多个位置?为了更好地说明,如果我想在GUI中的不同位置使用这个JButton 10次,我需要创建一个新的JButton(new ImageIcon…)10次? 按钮不一定会导致任何事情,这只是为了展示。
本文向大家介绍梯度消失相关面试题,主要包含被问及梯度消失时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了。这种现象叫做消失的梯度问题。
我现在正在试着做一个数独网格。因此,我使用了两个数组(双维),一个数组包含所有的JButtons,另一个数组包含9个JPanels。我在每个JPanel中放置了9个按钮,我在每个JPanel中使用了(3,3)的GridLayout,所有的JPanel都在一个更大的JPanel中,它也使用了GridLayout。问题是按钮在窗口的底部,所以不是所有的按钮都显示出来。我为第一个JPanel(包含前9个
我正在为一个项目做一个国际象棋游戏,我想做的第一件事就是创建一个框架,然后用64个JButtons(8x8组织)填充它,每个JButtons将作为国际象棋棋盘上的方块。我对Java还是一个新手,但我仍然不认为我应该得到我得到的错误,它没有发生在一段时间之前,但也就是说,当帧加载之前,没有一个JButtons。 当我使用3D数组向我的JButtons添加坐标时,我似乎遇到了一个问题,我不断得到错误“
我已经做了一个消失插件,但我有麻烦使它,所以服务器管理员可以看到的人,当他们在消失。我想这样做,如果他们得到允许,他们可以看到人们消失。
andriod新手,正在尝试设置视图。基于共享偏好而消失。然而,它并没有消失!我打碎了什么?! 编辑 所以,在测试了下面的问题是设置没有正确完成之后...因此,现在已经修复了这个问题,让我们再试一次。他是我的 onCreate...当我删除textview临时代码时,它工作正常,并通过Toast显示pref中的更改,但是当代码在那里时,应用程序崩溃了。 他是XML供参考: 编辑@daniel_c0