Tag: 用户界面

Mac OS X上没有窗口的基于SystemTray的应用程序

如何在mac os x上执行仅作为SystemTray TrayIcon运行的应用程序(没有awt窗口和停靠图标)? 我正在使用的代码是这样的: public class App { public static void main( String[] args ) { final TrayIcon trayIcon; if (SystemTray.isSupported()) { SystemTray tray = SystemTray.getSystemTray(); Image image = Toolkit.getDefaultToolkit().getImage(“tray.gif”); trayIcon = new TrayIcon(image, “Tray Demo”); trayIcon.setImageAutoSize(true); try { tray.add(trayIcon); } catch (AWTException e) { System.err.println(“TrayIcon could not be added.”); } } else { […]

访问并创建Swing GUI元素树

我的问题是如何访问Swing GUI元素树(主窗口,JPanels,JFrames,JButtons,JTextFields等)并创建对该树的引用。 我需要将它保存在数据结构(例如散列映射)中,而不是保存在内存文件中(例如,使用序列化)。 我需要这个以后使用它来将这些UI元素映射到代码中的相应对象。 编辑: JFrame f = new JFrame(“Basic GUI”); JPanel pnl1 = new JPanel(); JPanel pnl2 = new JPanel(); JPanel pnl3 = new JPanel(); JLabel lblText = new JLabel(“Test Label”); JButton btn1 = new JButton(“Button”); JTextField txtField = new JTextField(20); public GUISample(){ pnl1.add(lblText); pnl2.add(btn1); pnl3.add(txtField); f.getContentPane().setLayout(new BorderLayout()); f.getContentPane().add(pnl2, BorderLayout.EAST); f.getContentPane().add(pnl3, BorderLayout.WEST); f.getContentPane().add(pnl1, BorderLayout.NORTH); […]

使用KeyListener移动矩形

我正在尝试使用KeyListener移动一个矩形。 我见过其他人使用相同的代码但由于某种原因我不能让它移动。 现在矩形确实出现了。 如果有什么东西我不知道,我不确定我是否忘了什么。 这是我的代码: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.Graphics; public class roomwars extends JPanel implements ActionListener, KeyListener { //public JPanel pane; public JFrame frame; public JButton start, help; public JTextField box; int x=0, y=0, velx =0, vely =0; Timer t = new Timer(5, this); public void run(){ frame = new JFrame(“ROOM […]

使用JPanel在GUI中相互覆盖图层

我在制作简单计算器的布局时遇到了麻烦。 发生的事情是,除了我的减法按钮保留为背景之外,一切看起来都很好,我必须猜测我的其他按钮能够点击它们的位置。 当我点击它们时,我能够看到它们,直到我取消它们。 有没有什么办法解决这一问题? 我不会发布数学算法,因为这个问题不需要。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class GUIcalc extends JFrame implements ActionListener { private JPanel panel; private JPanel buttonpanel; private JPanel text; private JLabel sumfield; private BorderLayout layout; private GridLayout grid; private Container container; private boolean toggle=true; private float sum; private int num1; private int num2; JButton one = […]

Java – 如何每秒更新一个面板

我正在尝试创建一个显示当前时间的Java GUI。 目前,我可以让它显示当前时间,但仅限于启动时。 然后它永远保持在那个时间。 原因是我无法弄清楚如何让它每秒自动加载到新的当前时间。 这是我迄今为止的相关代码: // Getting the current time… long epoch = System.currentTimeMillis() / 1000; String date = new java.text.SimpleDateFormat(“HH:mm:ss”).format(new java.util.Date(epoch * 1000)); // Creating the panel… JLabel lblThetime = new JLabel(date); sl_panel.putConstraint(SpringLayout.NORTH, lblThetime, 55, SpringLayout.SOUTH, lblIBeA); sl_panel.putConstraint(SpringLayout.WEST, lblThetime, 139, SpringLayout.WEST, panel); lblThetime.setFont(new Font(“Avenir Next”, Font.PLAIN, 40)); // Adding the time to the […]

为Java游戏创建交互式GUI

嘿家伙我正在创建一个类似于java中的farmville的游戏,我只是想知道如何实现用户通常点击与游戏客户端交互的交互式对象/按钮。 我不想使用swing库(通用窗口看起来像对象),我想为我的按钮导入自定义图像,并为那些将用于GUI的图像分配属性按钮。 任何建议? 有什么指针吗? 我似乎无法通过youtube或其他一些Java游戏网站找到这些信息,因为他们只展示了使用swing的简单示例。 任何帮助将深表谢谢! 关心加雷思

如何在登录/创建帐户程序中解决此序列化错误?

我正在编写一个简单的GUI程序,它使用来自文本文件的登录信息。 它从另一个创建用户帐户的GUI程序中获取登录信息。 我不确定如何有效地序列化这个,因为它只是我最近学到的东西。 我该怎么办? 如何解决此序列化错误,以及如何改进它并使其正常运行。 用户类: package passwordProgram; import java.util.ArrayList; import java.util.Arrays; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.Serializable; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.UIManager; public class User implements Serializable, ActionListener { public static ArrayList allUsernames = new ArrayList(); String […]

如何在JavaFx中创建通用TableView?

我正在为我的项目构建一个GUI,我需要显示来自各种类型的数据结构的信息:表中的ArrayList,HashMap,TreeSet。 基本上我需要显示我在视图包中的模型包中获得的查询方法的信息。 我的实现现在包括一个控制器,用于我每次声明TableView时使用指定的对象类型构建的每个表。 我想知道是否有一种方法来创建一个类,它的构造函数将构建我需要的表(具有此对象所需的列数)。 某种通用表构建器,可以读取对象并找出需要表示的列数。 例如:提供具有4个字段/列的Reservation对象与具有6个字段/列的Member对象进行比较。 根据它将得到的数据结构。 因此,我将能够创建此类的实例并实例化我需要的表并在屏幕上显示它。 我还需要一种能够从场景构建器控制它的方法,因为这是我用于以图形方式构建GUI的主要工具。 我在这里添加了一个表格代码,希望有人可以帮我完成这个繁琐的任务:) package view; import java.util.ArrayList; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.TextField; import javafx.stage.Stage; import model.Reservation; public class QRYClientReservationsTableController { private ObservableList ReservationsData = FXCollections.observableArrayList(); @FXML private TableView ReservationforClient; @FXML private TableColumn ReservationIdColumn; @FXML private TableColumn LocationIdColumn; […]

Java Swing – 创建类似标签的动态宽度按钮

我正在使用桌面GUI设计迈出第一步。 我想要实现的是在一个表列中显示。 我希望它们具有视觉吸引力,也可以点击。 起初,我认为可以用JButton做一些hack,就像这个post中所建议的那样 。 但后来我意识到我不知道如何管理标签的动态宽度和拉伸图形以100%填充按钮。 我想实现类似于下面图像的东西。 在HTML + CSS中,每个标签都非常简单: 已离开边缘作为图形 具有可重复的1px宽背景 右边缘为图形 但是如何在Java中做到这一点? info:我不在乎这是不是JButton,只要它很好,可点击和可拖动。 UPDATE 下面的样机代表了我想要做的事情。 它涉及JTable或多个JLists以及在该单词旁边浮动的那些标签。 在HTML + CSS中很容易做到,但我几乎不可能在Java中这样做。

Android:我应该维护对recyclerview内部活动的引用,还是有另一种方式?

我需要在onBindViewHolder中使用上下文方法(标准示例可能像getString或getColor一样常见)。 到目前为止,我已经将上下文传递给了recyclerview的构造函数,并在变量中维护了一个引用,但在我看来,这似乎是不好的做法。 有没有办法从recyclelerview内部动态获取上下文而不将其存储为变量? public SomeRecyclerViewClass(Activity activity) { this.parentActivity = activity; }