两个问题。
首先,我试图在JFrame上显示一个JButton,到目前为止,我已经设法显示没有任何内容的JFrame。
其次,如何为按钮添加功能?你会传递一种方法吗?
任何反馈都表示赞赏。
<code>
//imports SWING etc...
//global variables...
public class FahrenheitGUI {
public static void main(String args[]){
prepareGUI();
}
private static void prepareGUI(){
JFrame frame = new JFrame("Temp");
JPanel panel = new JPanel();
JLabel temperatureLabel;
int h = 300; int w = 300;
frame.setSize(h,w);
JButton one = new JButton( "0" );
JButton two = new JButton( "1" );
JButton three = new JButton( "2" );
JButton four = new JButton( "3" );
JButton five = new JButton( "4" );
JButton six = new JButton( "5" );
JButton seven = new JButton( "6" );
JButton eight = new JButton( "7" );
JButton nine = new JButton( "8" );
JButton ten = new JButton( "9" );
JButton negative = new JButton( "-" );
JButton dot = new JButton( "." );
JButton reset = new JButton( "reset" );
one.setBounds(10,10,20,20);
//one.addActionListener(onButtonPress);
//creates an error
frame.setVisible(true);
}
}
class Keypad implements ActionListener{
public void actionPerformed( ActionEvent one){
// guessing
}
public void actionPerformed( ActionEvent two){
// guessing
}
}
答案 0 :(得分:2)
您可以创建JPanel
,向面板添加按钮,然后将整个面板添加到JFrame
,如下所示:
JPanel panel = new JPanel(); //by default it will has FlowLayout
panel.add(yourButton);
frame.add(yourJPanel);
frame.setVisible(true);
我个人创建了扩展JPanel
的类,并在其中设置了面板的大小(不是框架),然后,在我的框架中添加面板后,我调用了pack()
方法,这将调整你的大小框架参考面板的大小。
如果您想更改默认布局管理器,只需致电setLayout(LayoutManager)
编辑:
如果您想为按钮添加功能,请使用:
yourButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
//button logic
}
});
答案 1 :(得分:0)
为每个按钮调用frame.add(Button)
。之后frame.pack()
一次。