【发布时间】:2021-10-12 20:28:51
【问题描述】:
我一直在用 Java Swing 练习我的代码,并且在控制一些项目(例如标签和或按钮)的放置位置方面做得很好,但我想知道你是否可以对类做同样的事情?我只有一个简单的类,它有足够的代码在其中放置一个按钮,仅此而已,我正在尝试创建该类的一个实例,然后控制它放在左侧和右侧,但是当我这样做时,它所做的一切就是用中间的按钮创建两个单独的窗口,就是这样。是我做错了什么,还是你不能用同样的方式上课?
代码:
import java.awt.Color;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Fun extends JFrame
{
private final int WIDTH = 500;
private final int HEIGHT = 400;
public Fun()
{
setTitle("Fun Management");
setSize(WIDTH, HEIGHT);
BuildPanel west = new BuildPanel(); /// BuildPanel is the name of the class that has just a button in it.
BuildPanel east = new BuildPanel(); ///
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(west, BorderLayout.WEST); /// I am doing the same thing with the instances as I would with buttons or labesl
add(east, BorderLayout.EAST);
setVisible(true);
}
public static void main(String[] args)
{
new Fun();
}
}
【问题讨论】:
-
add()方法采用Component类型,因此如果BuildPanel继承自 Component,您可以这样做。但是,通常将 GUI 与“程序逻辑”类分开,所以要小心扩展这样的 GUI 类。要将内容分开,请参阅“MVC”en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller -
可以分享
BuildPanel代码吗?
标签: java swing jpanel layout-manager