我有以下代码:
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
panel.add(label, BorderLayout.LINE_START);
panel.add(label2, BorderLayout.LINE_START);
panel.add(textfield, BorderLayout.LINE_END);
panel.add(textfield2, BorderLayout.LINE_END);
panel.add(button5);
panel.revalidate();
panel.repaint();
label.setText("Geef de basis van de driehoek in cm: ");
label2.setText("Geef de hoogte van de driehoek in cm: ");
}
});
与此屏幕截图相对应:
我希望它看起来像这样:
我是Java的新手,我知道这可能是一个愚蠢的问题,但是我无法通过Internet上的信息弄清楚。
提前致谢!
查看您提供的代码,然后发现该方法未添加前三个按钮,因此我想它们已经存在:
在这种情况下,让您将GUI分解成几部分,如下所示:
现在,我们可以使这三个剩下的矩形。这些矩形将JPanels
各自具有相应的组件:
所以:
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//panel with label and textield
JPanel base = new JPanel(new BorderLayout());
base.add(label, Borderlayout.LINE_START);
base.add(textfield, BorderLayout.LINE_END)
panel.add(base, BorderLayout.PAGE_START);//top of the page this may interfere with your three buttons I don't know where you are in your layout structure
//panel with label2 and textfield2
JPanel height = new JPanel(new BorderLayout());
height.add(label2, BorderLayout.LINE_START);
height.add(textfield2, BorderLayout.LINE_END);
panel.add(height, BorderLayout.CENTER);
//button5 doesn't need a panel of it's own as it's only one component
panel.add(button5, BorderLayout.PAGE_END);
panel.revalidate();
panel.repaint();
label.setText("Geef de basis van de driehoek in cm: ");
label2.setText("Geef de hoogte van de driehoek in cm: ");
}
});
那应该可以解决您的问题,如果您对答案有任何疑问,请告诉我。
我希望这有帮助 :)
编辑#1:
代码版本2:
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JPanel content = new JPanel(new BorderLayout());
//panel with label and textield
JPanel base = new JPanel(new BorderLayout());
base.add(label, Borderlayout.LINE_START);
base.add(textfield, BorderLayout.LINE_END)
content.add(base, BorderLayout.PAGE_START
//panel with label2 and textfield2
JPanel height = new JPanel(new BorderLayout());
height.add(label2, BorderLayout.LINE_START);
height.add(textfield2, BorderLayout.LINE_END);
content.add(height, BorderLayout.CENTER);
JPanel forbutton5 = new JPanel();
forbutton5.add(button5);
content.add(forbutton5, BorderLayout.PAGE_END);
panel.add(content);
panel.revalidate();
panel.repaint();
label.setText("Geef de basis van de driehoek in cm: ");
label2.setText("Geef de hoogte van de driehoek in cm: ");
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句