- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Main.java
,在这里我只会启动(设置可见 true )我的 JFrame
窗口。但它只打开一个小窗口,没有任何东西。然后我会按下 Highscore 按钮,然后应该显示另一个 JFrame
(高分)。
我应该做什么?
(这不是完整的代码)
public class Main {
private static MyWindow window = null;
public static void main(String[] args) {
window = new MyWindow();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Frame sichtbar machen
window.setVisible(true);
}
public class FWindow extends JFrame{
private JFrame Menue;
public FWindow() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
Menue = new JFrame();
Menue.setBounds(100, 100, 469, 741);
Menue.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Menue.getContentPane().setLayout(null);
JPanel pMenue = new JPanel();
pMenue.setLayout(null);
JLabel lblHighscore = new JLabel();
lblHighscore.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Highscore highscore = new Highscore();
getContentPane().add(highscore);
System.out.println();
highscore.setVisible(true);
}
});
//........
public class Highscore extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JTable table;
TableModel model;
public Highscore() {
table = new JTable(model);
table.setShowGrid(false);
table.setShowHorizontalLines(false);
table.setShowVerticalLines(false);
table.setForeground(Color.WHITE);
table.setBackground(new Color(113,197,208));
table.setFont(new Font("Comic Sans MS", Font.PLAIN, 30));
table.setRowHeight(40);
table.setAutoCreateRowSorter(true);
table.setModel(new DefaultTableModel(
new Object[][] {
//.....
},
new String[] {
"1", "2", "3"
}
){
});
......
最佳答案
FWindow
扩展了 JFrame
,但它正在创建 JFrame
的第二个实例(Menue
),这意味着您仅显示 FWindow
,上面什么也没有。
从FWindow
中删除extends JFrame
,它没有添加任何有用的功能
向 FWindow
添加一个方法,该方法将准备并显示 Menue
实例
public class FWindow {
private JFrame Menue;
public FWindow() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
Menue = new JFrame();
Menue.setBounds(100, 100, 469, 741);
Menue.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Menue.getContentPane().setLayout(null);
JPanel pMenue = new JPanel();
pMenue.setLayout(null);
JLabel lblHighscore = new JLabel();
lblHighscore.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Highscore highscore = new Highscore();
getContentPane().add(highscore);
System.out.println();
highscore.setVisible(true);
}
});
//........
}
public void prepareAndShow() {
//...
Menue.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Menue.setVisible(true);
}
然后,从您的 main
方法中,确保调用它
public class Main {
private static MyWindow window = null;
public static void main(String[] args) {
window = new MyWindow();
// Frame sichtbar machen
window.prepareAndShow();
}
举个例子
咆哮警告
通常,我会说避免使用 null
布局,像素完美布局是现代 UI 设计中的一种幻觉。影响组件个体尺寸的因素太多,您无法控制其中任何一个。 Swing 的设计目的是与核心的布局管理器一起工作,放弃这些将导致无休止的问题和问题,您将花费越来越多的时间来尝试纠正......
但这会导致对 WindowBuilder 的优缺点的争论......
基本上,您最好学习手动编写 UI 代码,它们将使您更好地了解布局管理器的工作方式以及如何实现复杂和解耦的 UI 以及看起来像您期望的方式的 UI它在不同的平台上
关于java - WindowBuilder - 从 Main 打开 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30571293/
我刚刚拿到了 JDK 和 Eclipse 经典版,我正在尝试找出用于安装的那个。 eclipse.org 提供的发行版和集成版有什么区别:http://www.eclipse.org/windowbu
是否可以在 WindowBuilder 中创建多行标签? 以下方法失败: 1) JLabel 带有 \n -s 2) 带文本的 JLabel,包装为 和maximuSize设置 3) JTextPan
我正在使用 Google 的 WindowBuilder 在 Eclipse 中为桌面 Java/SWT 应用程序创建 UI。我使用的是 Mac OS X。 我有这个简单的类(为了清楚起见,删除了导入
我正在尝试制作自己的 Java 组件,以便与 eclipse 中的 windowBuilder 一起使用。创建组件是比较容易的部分。问题是让 Eclipse 在创建组件时绘制该组件。我尝试过使用 SW
所以我有这个带有 WindowBuilder 的 Java 项目(带有 JInternalFrames 的 JDesktopPane),现在我要翻译整个程序。每次从 JDesktopPane 菜单打开
我最近开始使用 WindowBuilder for Java 进行编程,但遇到了一个我似乎无法解决的非常烦人的问题。 问题是调试(System.out.println(answer);在第 133 行
我正在使用 windowbuilder 为 Windows 制作一个带有 GUI 的 java 程序。我设置了组件的大小,使其与 3200x1800 的屏幕分辨率匹配。 构建程序后,我在屏幕分辨率为
我正在尝试制作一个全屏应用程序。我想知道如何使我在 JFrame 上添加的组件在每种分辨率下都占据屏幕的一部分。 设计选项卡模式: 当我在全屏上运行时,我得到这个: 如何让下面的界面调整为全屏? 最佳
我正在使用 WindowBuilder (Eclipse Juno 4.2) 为我的项目创建 GUI。在那个 GUI 中我需要使用日期选择器。我在网上搜索了一些日期选择器并找到了一些可以工作的库,但由
我正在 eclipse 的 windowbuilder 上工作一个项目。我的框架是全屏的,所以它不适合 WB 的设计页面。 JScrollPanes 也会出现同样的问题,在 Windowbuilder
我正在尝试使用 WindowsBuilder Pro 来开发 Swing UI。我正在使用 MiGLayout Manager。在设计 View 中开发时,当我创建一个新项目(JLabel、JText
WindowBuilder for Swing 将复选框创建为局部变量,将文本框创建为成员数据。这种不一致让我很烦恼。由于无论如何它们都会链接到顶层 JFrame 中,因此只要 JFrame 具有对它
目前我正在使用一个带有在 WindowBuilder 中设计的窗体的应用程序。该表单包含一个我想在 Clojure/seesaw 中使用的按钮。所以我的问题是:如何在 Clojure 中使用 Java
我有一个简单的 Eclipse Java 项目,它仅包含一个用 Eclipse 的 Window Builder 生成的类(Swing 类)。编码是在我的笔记本上完成的,并保存在云端,因此我可以从家里
我最近在 Eclipse 4.3 (Kepler) 上安装了 windowBuilder 工具。当我尝试在布局设计器上进行一些工作时,我的调色板窗口上不会出现任何组件。只有一些组件,如“布局 ->布局
我在 WindowBuilder for Eclipse 中创建了一个 Java 应用程序。我构建了一个菜单,并在其中一个菜单项上添加了 mouseclicked 事件。 JMenuItem mite
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在设计一个大表单,其中 Eclipse WindowBuilder plugin 。该类扩展了 JPanel 并使用 GridBagLayout 作为其 LayoutManager。 现在我的面板
我正在使用 windowbuilder 为我的应用程序构建 GUI。我已经为我的 GUI 创建了一个基于 SWT 的 shell 布局。我在 GUI 中有一个文本框。当用作 GUI 时,我想从文本框中
我正在尝试使用 3 行 3 列的 formlayout。中间的盒子设置为固定的宽度和固定的高度,其他盒子会增长。我认为这将使我的图像保持在中心,并且不会随着用户扩展框架而增长。 这是我正在做的事情,但
我是一名优秀的程序员,十分优秀!