对于学校,我必须在一个按钮和两个文本区域内制作一个JFrame.无论你在Textfield中放置什么,当按下按钮时,必须进入文本字段2.当我运行程序时,我得到了代码,我应该看到textfields和按钮.无论出于何种原因,它都没有.
我到目前为止:
package helloworld;
import javax.swing.*;
import java.awt.event.*;
public class HelloWorld extends JFrame {
public static void main(String[] args) {
JFrame frame = new HelloWorld();
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Hello World Button App");
JPanel panel = new JPanel();
frame.setContentPane(panel);
fram.setVisible(true);
}
}
class panel extends JPanel {
public JButton btn1 = new JButton("Klick!");
public JTextField txt1 = new JTextField(10);
public JTextField txt2 = new JTextField(10);
public panel() {
add(btn1);
add(txt1);
add(txt2);
}
}
Run Code Online (Sandbox Code Playgroud)
我还不能发布图片,但我会在这里提供图片的链接
如果这个问题已经出现,我很抱歉,但我找不到类似的问题.我是编程的新手,所以当我忘记某些内容或写错了内容时,请不要对我大喊大叫!
如何显示文件的默认系统图标JFileChooser?即文件的图标JFileChooser应该与桌面和资源管理器上显示的图标相同?
例如,NetBeans图标JFileChooser与桌面上显示的图标不同!
这该怎么做?
我有一个扩展使用NetBeans GUI编辑器构建的javax.swing.JFrame的类。当几个JFrame被打开时,是否有办法使其级联?
下面的代码应该有点像你可能在FF,IE或Chrome等浏览器中看到的多文档界面(MDI).它在选项卡式窗格中显示"文档"(黑色缓冲图像作为间隔符),以便可以通过用户选择将它们从窗格拖动到新(或现有)窗口中.
但是,一旦它们没有更多标签,它就会关闭框架,并且当没有更多可见窗口时关闭框架.我想通过检查中的一个Timer来修复它们DragTabManager:
DragTabFrameTimer以允许JRE退出.至少这是它应该如何工作.它似乎在这里可靠地工作,并且我看到没有'空框架或VM无法关闭'进行了相当多的测试.它是否像其他人一样宣传,还是需要进一步观察?
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class DragTabFrame extends JFrame {
private JTabbedPane tabbedPane = new JTabbedPane();
private final static DragTabManager dragTabManager = new DragTabManager();
final MouseAdapter ma = new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
JComponent c = (JComponent) e.getSource();
dragTabManager.setCurrentComponent(c);
DragTabFrame dtf = (DragTabFrame)c.getTopLevelAncestor();
dragTabManager.setCurrentFrame(dtf);
JTabbedPane tp = dtf.getTabbedPane();
int index = tp.indexOfComponent(c);
if (index<0) index …Run Code Online (Sandbox Code Playgroud) 我在JFrame中显示JDialog.这个JDialog在处理时什么都不做.我想抓住结束事件并显示一个Popup但没有任何反应.
我找不到这个bug.你能告诉我问题出在哪里吗?
非常感谢!
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Window;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
@SuppressWarnings("serial")
public class JFrameTest extends JFrame {
public JFrameTest() {
setLayout(new FlowLayout());
setSize(300, 300);
add(new JTextArea("This is a text"));
setDefaultCloseOperation(JFrameTest.EXIT_ON_CLOSE);
getContentPane().setPreferredSize(getSize());
pack();
setLocationRelativeTo(null);
setVisible(true);
JDialogTest dialog = new JDialogTest(this, Dialog.ModalityType.APPLICATION_MODAL);
dialog.setVisible(true);
}
public static void main(String[] args) {
new JFrameTest();
}
private class JDialogTest extends JDialog implements WindowListener {
public JDialogTest(Window parent, ModalityType modalityType) {
super(parent, modalityType); …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个由9x9 JButton制作的简单的tic tac toe board.我使用了二维数组和一个gridlayout,但结果是什么,没有任何按钮的框架.我做错了什么?
import java.awt.GridLayout;
import javax.swing.*;
public class Main extends JFrame
{
private JPanel panel;
private JButton[][]buttons;
private final int SIZE = 9;
private GridLayout experimentLayout;
public Main()
{
super("Tic Tac Toe");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,500);
setResizable(false);
setLocationRelativeTo(null);
experimentLayout = new GridLayout(SIZE,SIZE);
panel = new JPanel();
panel.setLayout(experimentLayout);
buttons = new JButton[SIZE][SIZE];
addButtons();
add(panel);
setVisible(true);
}
public void addButtons()
{
for(int k=0;k<SIZE;k++)
for(int j=0;j<SIZE;j++)
{
buttons[k][j] = new JButton(k+1+", "+(j+1));
experimentLayout.addLayoutComponent("testName", buttons[k][j]);
}
}
public static void main(String[] args)
{ …Run Code Online (Sandbox Code Playgroud) 我们知道有一个RadialGradientPaint用Java 命名的类,我们可以使用它来绘制圆形渐变画.
但我想要一个椭圆形(椭圆形)GradientPaint.如何实现椭圆形GradientPaint?
任何身体请帮助我,如何JFrame在Mac 上居中.OS X?
我试过了:
this.setLocationRelativeto(null);
this.setLocationRelativeto(this);
this.setLocationRelativeto(getRootPane());
Run Code Online (Sandbox Code Playgroud)
..和
final Toolkit toolkit = Toolkit.getDefaultToolkit();
final Dimension screenSize = toolkit.getScreenSize();
final int x = (screenSize.width - this.getWidth()) / 2;
final int y = (screenSize.height - this.getHeight()) / 2;
this.setLocation(x, y);
Run Code Online (Sandbox Code Playgroud)
以上都没有工作,我的框架仍然在底部并隐藏在Mac底座后面.
我的问题很简单,我猜...我想在运行程序时让我的java框架居中.
我使用了以下代码:
setLocationRelativeTo(null);
Run Code Online (Sandbox Code Playgroud)
问题:
这是框架的左上角,它居中但不是整个框架.我怎么能纠正这个问题,让整个框架居中?
谢谢您的帮助!
我想在Swing中创建类似下面的内容:

顶部相对容易:我可以创建一个表并显示它.我遇到的问题是底部的方形加号和减号按钮,它们分别用于添加新项目或删除所选项目.特别是,我无法制作方形,因为在Mac OS X和其他一些平台上,JButtons是带圆角的矩形,我找不到改变它的方法.此外,我想确保它是一个完美的正方形,按钮之间没有任何空间.
如何在Swing上以跨平台的方式实现这一目标?
java ×10
swing ×9
jframe ×3
awt ×2
jbutton ×2
jpanel ×2
cascade ×1
center ×1
draggable ×1
frame ×1
graphics2d ×1
grid-layout ×1
jdialog ×1
jfilechooser ×1
jtabbedpane ×1
macos ×1
netbeans ×1