【问题标题】:How to Set Multiple Components Visible on a JFrame?如何在 JFrame 上设置多个组件可见?
【发布时间】:2011-03-20 08:41:44
【问题描述】:

当我在 JFrame 上添加多个组件时,只显示最后添加的组件,其余的不显示,它们的可见性有什么问题?

import java.awt.GraphicsEnvironment;
import java.awt.Point;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
public class CenteringaWindow {
public static void main(String[] args) {
 JFrame aWindow = new JFrame("This is the Window Title");
 Point center = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();
 int windowWidth = 400;
 int windowHeight = 150;
 JButton item1=new JButton("hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii");
 JButton item2=new JButton("how are you ?");
 aWindow.add(item1);
 aWindow.add(item2);
 JLabel label1=new JLabel("Label 1");
 aWindow.add(label1);
 JLabel label2=new JLabel("Label 2");
 aWindow.add(label2);
 //center align the JFrame
 aWindow.setLocationRelativeTo(null);
 aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 aWindow.setVisible(true); // Display the window

} }

【问题讨论】:

    标签: java components jframe


    【解决方案1】:

    您应该声明一个 JPanel,将 JPanel 添加到 JFrame,然后将项目添加到 JPanel。

    例子:

    JPanel pnl = new JPanel();
    
    public static void main(String[] args) {
         aWindow.add(pnl);
             pnl.add(item1);
             pnl.add(item2);
             pnl.add(label1);
             pnl.add(label2);
    }
    

    【讨论】:

      【解决方案2】:

      您需要设置适合您需要的LayoutManager

      【讨论】:

        猜你喜欢
        • 2013-01-17
        • 1970-01-01
        • 2013-10-31
        • 2021-02-03
        • 2013-06-22
        • 2014-01-14
        • 1970-01-01
        • 2019-09-28
        • 2014-08-02
        相关资源
        最近更新 更多