Tag: 用户界面

如何在Java Swing登录窗口中解决这些可视化问题?

我在Java Swing中绝对是新手,我遇到了问题。 我必须创建一个登录窗口,从这个immage(类似这样的东西,scilicet窗口必须显示2个文本字段,用户插入其用户名和密码和一个按钮来执行登录操作)的灵感: 好吧,我认为这很简单,我已经意识到以下课程: package com.techub.crystalice.gui.login; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import org.jdesktop.application.SingleFrameApplication; import com.techub.crystalice.gui.Constants; import com.techub.crystalice.gui.GUI; public class LoginFrame extends SingleFrameApplication { @Override protected void startup() { // TODO Auto-generated method stub System.out.println(“DENTRO: LoginFrame() —> startup()”); this.getMainFrame().setTitle(“MyApp Login”); //this.getMainFrame().setSize(600, […]

用java实质的Gui问题外观和感觉

设置外观和感觉有一个非常奇怪的错误。 为了设置外观我使用以下内容: … String scheme = “net.sourceforge.atunes.gui.substance.SubstanceATunesSunLookAndFeel”; try { UIManager.setLookAndFeel(scheme); UIManager.put(LafWidget.ANIMATION_KIND, LafConstants.AnimationKind.NONE); UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CONTENT_BORDER_KIND, SubstanceConstants.TabContentPaneBorderKind.SINGLE_FULL); JFrame.setDefaultLookAndFeelDecorated(true); JDialog.setDefaultLookAndFeelDecorated(true); } catch (ClassNotFoundException e) { ExceptionHandler.handleSilently(e); } catch (InstantiationException e) { ExceptionHandler.handleSilently(e); } catch (IllegalAccessException e) { ExceptionHandler.handleSilently(e); } catch (UnsupportedLookAndFeelException e) { ExceptionHandler.handleSilently(e); } 放在主要function中: SwingUtilities.invokeAndWait(new Runnable(){ public void run(){ … } 在设置外观之前没有gui元素,因此不需要执行SwingUtilities.updateComponentTreeUI(…)。 所以,一切都很好,但一些用户报告非常奇怪的包包括未处理的窗口,如: 启动程序时,用户会看到以下屏幕(仅当用鼠标移动到此区域时,按钮才会出现;在此之前,窗口不会显示这些按钮。 那么,任何人都可以帮我找到正确的解决方案(我不问解决方案,我只是问正确的方法来解决它)。 首先,我认为这是因为内存不足错误,但用户计算机的配置是: 机器配置: […]

JTextField输入无法更新MVC中TextView的输出

我正在研究高级Java并试图编写一个利用MVC设计模式的程序。 程序需要绘制一个字符串,该字符串可以由用户在JTextField的输入进行修改。 用户还可以分别通过JComboBox和JSpinner调整文本的颜色和字体大小。 这是我到目前为止: public class MVCDemo extends JApplet { private JButton jBtnController = new JButton(“Show Controller”); private JButton jBtnView = new JButton(“Show View”); private TextModel model = new TextModel(); //constructor public MVCDemo(){ //set layout and add buttons setLayout(new FlowLayout()); add(jBtnController); add(jBtnView); jBtnController.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ JFrame frame = new JFrame(“Controllor”); TextController […]

如何使用JTree显示JPanel目录中的文件?

我正在使用Swing开发GUI。 GUI以这样的方式实现:当用户想要加载一组文本文件时,然后应该打开文件选择器对话框并且用户选择存在所有文件的目录。 现在,我想使用JTree将所选目录中的所有文件列入JScrollPane。 我正在使用此示例在我的代码中实现JTree: http : //www.java2s.com/Code/Java/File-Input-Output/FileTreeDemo.htm 但是,在选择目录后,JTree不会显示在JPanel中。 我已将JTree代码放在actionPerformed()方法中。 我不确定这是不是正确的方法。 这是代码: public void actionPerformed(ActionEvent e) { //Handle open button action. if (e.getSource() == OpenFileButton) { int returnVal = fc.showOpenDialog(GUIMain.this); if (returnVal == JFileChooser.APPROVE_OPTION) { file = fc.getSelectedFile(); System.out.println(file); File[] filesInDirectory = file.listFiles(); SortFile sf = new SortFile(); // Calls sortByNumber method in class SortFile to […]

如何获取终端结果并设置JTextArea来读取终端?

我最近完成了一个GUI,用户可以输入标准,并获得符合上述条件的结果。 该程序结果明智,但我在GUI中获取textField以读取终端窗口结果时遇到问题。 我的GUI代码如下: package project205; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class HouseListGUI extends JFrame { //GUI Components HouseList availableHouses = new HouseList(“src/houses.txt”); JLabel cLab = new JLabel(“Criteria”); JLabel minLab = new JLabel(“Min”); JLabel maxLab = new JLabel(“Max”); JLabel pLab = new JLabel(“Price”); JLabel aLab = new JLabel(“Area”); JLabel bLab = new JLabel(“Bedrooms”); JTextField […]

如何在javafx中绘制一条直线,当用户移动鼠标时会自动更新?

所以,我知道如何做自由手线,但我想要一条直线,所以当用户点击一个点到用户释放鼠标的点时,当用户拖动鼠标时,终点应该用鼠标移动,即类似于在绘画应用程序中绘制直线。 目前正在使用此代码: public class JavaFX_DrawOnCanvas extends Application { @Override public void start(Stage primaryStage) { Canvas canvas = new Canvas(400, 400); final GraphicsContext graphicsContext = canvas.getGraphicsContext2D(); initDraw(graphicsContext); canvas.addEventHandler(MouseEvent.MOUSE_PRESSED, new EventHandler(){ @Override public void handle(MouseEvent event) { graphicsContext.beginPath(); graphicsContext.moveTo(event.getX(), event.getY()); graphicsContext.stroke(); } }); canvas.addEventHandler(MouseEvent.MOUSE_DRAGGED, new EventHandler(){ @Override public void handle(MouseEvent event) { graphicsContext.lineTo(event.getX(), event.getY()); graphicsContext.stroke(); } }); […]

JScrollPane的底部被切断了

我正在尝试创建一个简单的电子邮件客户端,正在切断身体的底部。 如果我添加一个水平滚动条,它不会出现,并且垂直滚动条的底部也不会出现。 这是我的代码: import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.UIManager; @SuppressWarnings(“serial”) public class gui extends JFrame{ gui(String title, int x, int y){ super(title); setSize(x,y); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); } public void addElements(){ Font size30 = new Font(null, Font.PLAIN, 30); JPanel […]

第二个JFrame中的组件未显示

我想通过按下JFrame中的按钮来启动另一个JFrame。 但是,如果按下按钮,它会显示JFrame,但不会显示按钮和滑块。 public class MainMenu extends JFrame { private JFrame klick; private static final long serialVersionUID = 9002; public static void main(String[] args) { new MainMenu(); } public MainMenu() { buildGUI1(); } public void buildGUI1() throws NullPointerException { setTitle(“Hauptmenü”); setSize(800, 480); setLayout(new GridLayout()); setAlwaysOnTop(false); setLocation((Toolkit.getDefaultToolkit().getScreenSize().width)/4, (Toolkit.getDefaultToolkit().getScreenSize().height)/4); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setVisible(true); final JButton startclickbt = new JButton(“Start […]

随机圈JAVA

我正在尝试创建一个GUI,它将获取要绘制的圆圈数,并在随机位置/大小的drawPanel中绘制它们。 在我的actionListener上,当我尝试绘制圆圈时,它在我的drawOval上给了我红线 第一节课: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTextArea; /** * * @author Chris * */ public class CirclesPanel extends JPanel{ private JButton draw, clear; private JTextArea textArea; private JPanel panel, drawPanel, buttonPanel; private int […]

在左下角/右下角创建两个按钮

JButton button1 = new JButton(“Button 1”); JButton button2 = new JButton(“Button 2”); JFrame frame = new JFrame(); frame.getContentPane().setLayout(new BorderLayout()); button2.setLayout(new FlowLayout(FlowLayout.RIGHT)); button1.setLayout(new FlowLayout(FlowLayout.LEFT)); frame.getContentPane().add(button1,BorderLayout.SOUTH); frame.getContentPane().add(button2,BorderLayout.SOUTH); frame.setSize(500,500); frame.setVisible(true); 我正在尝试在左下角制作按钮1,在右下角制作按钮2 __________________________ | | | | | | | | | | | | |Button1 Button2 | |________________________|