我正在使用Swing在Java中构建GUI。制作按钮并添加按钮的代码如下:
//Create a button
JButton exitButton = new JButton("Exit");
exitButton.setSize(90, 40);
exitButton.setLocation(800, 450);
exitButton.setVisible(true);
//Adding components
window.getContentPane().add(exitButton);
当我运行应用程序时,按钮出现在整个窗口中,有时会显示为预期,有时不会出现。这是某种java bug还是我sdk
的问题。如果您想知道它是什么类型的窗口,
//Create a window
JFrame window = new JFrame("First Window");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
window.setVisible(true);
window.setSize(1000, 550);
window.setLocation(150, 150);
这一切都在静态无效的主要内容中。顺便说一句,我如何通过System.exit(0);
获取关闭窗口的按钮(我是初学者,这是我的第一个自编GUI)
答案 0 :(得分:1)
你需要一个布局。请参阅A Visual Guide to Layout Managers。
另请查看我的教程here.
答案 1 :(得分:0)
我有这个示例代码。这可能是有用的简单摆动按钮
package com.ack.gui.swing.simple;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class SimpleSwingButtons extends JFrame {
public static void main( String[] argv ) {
SimpleSwingButtons myExample = new SimpleSwingButtons( "Simple Swing Buttons" );
}
public SimpleSwingButtons( String title ) {
super( title );
setSize( 150, 150 );
addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent we ) {
dispose();
System.exit( 0 );
}
} );
init();
setVisible( true );
}
private void init() {
JPanel my_panel = new JPanel();
my_panel.setLayout( new GridLayout( 3, 3 ) );
for( int i = 1; i < 10; i++ ) {
ImageIcon icon = new ImageIcon( i + ".gif" );
JButton jb = new JButton( icon );
jb.setToolTipText( i + ".gif" );
my_panel.add( jb );
}
getContentPane().add( my_panel );
my_panel.setBorder( BorderFactory.createEtchedBorder() );
}
}
答案 2 :(得分:-2)
您必须检查布局,如果要对组件使用自定义位置,请将Layout设置为null并使用setBounds(x,y,weight,height)
方法。
JFrame window = new JFrame("First Window");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
window.setLayout(null);
JButton exitButton = new JButton("Exit");
exitButton.setBounds(15,45,150,30);//This is just an example
exitButton.setVisible(true);
最好的问候。