Tag: 摆动

使用JFileChooser上传多个图像

我试图在网上搜索这个问题的帮助,但找不到任何答案。 此时我有一个工作程序,允许您选择一个图像文件并显示它。 我想通过允许用户选择多个文件然后选择要显示的文件来构建此基础。 例如,用户将选择图像并将其显示。 然后,他可以单击一个按钮,允许其他图像排队等待,并且可能会显示一个按钮,点击后,图像将加载到框架中。 任何人都可以指导我如何实施这个方向吗? 非常感谢你的帮助! 这是我当前的代码实现: import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.util.ArrayList; public class Images extends JFrame{ JButton button; JButton button2; JButton button3; JLabel label; ArrayList images = new ArrayList(); int selectedImageIndex =0; public Images(){ super(“Java Image Selector”); button = new JButton(“Select”); button.setBounds(300,300,100,40); button2 = […]

将JButton的多个实例添加到网格中的JFrame

下面的代码应该为我想要在网格中表示的特定类型(比如颜色)JButton创建和对象实例。 当我遍历for循环以将按钮添加到jframe时,它什么都没有添加。 但是,如果我添加一个实例变量,它将添加它。 有人有想法吗? public class Grid { protected JButton [][] board; private JButton player; private JButton openCell; private JButton wall; private JButton closedCell; public Grid(String [] args) { // args unused // Instantiation board = new JButton [6][6]; layout = new String [6][6]; blueCell = new JButton(“BLUE CELL”); redCell = new JButton(“RED CELL”); greenCell […]

使用未知行数的文本创建图像

我想将一串文本转换为图像。 问题是,如果文本比图像的长度宽,我想要文本换行,并且图像的高度要动态resize以完全适合文本,这样我就知道文本占用了多少空间。 我在Java工作,我尝试了几件事: 在JPanel中呈现HTML并保存为BufferedImage。 这里的问题是我使用的大多数css被JPanel忽略,图像无法使用。 使用ImageMagick和img4Java。 这个解决方案的两大失败是我需要安装命令行工具,这是我在服务器上无法做到的。 第二个是我无法轻松将图像转换为缓冲图像,以便在应用程序的其余部分中使用。 有没有人知道在Java中这样做的方法? 谢谢!

Java Swing MVC架构

如何组织Java Swing应用程序来实现MVC架构?

如何在Java(NetBeans)中将禁用按钮的文本颜色更改为黑色?

我正在使用NetBeans开发Java中的GUI,我喜欢将禁用按钮的文本颜色更改为黑色。 以下命令与combobox一起正常工作: UIManager.getDefaults().put(“ComboBox.disabledForeground”, Color.BLACK); 使用Button,以下命令没有效果: UIManager.getDefaults().put(“Button.disabledForeground”, Color.BLACK); 要么 UIManager.getDefaults().put(“Button.disabledText”, Color.BLACK); 我希望有人可以帮助我。 先谢谢你。 斯特芬

相交的矩形

这是一个分析几何问题。我不确定我可以在这里发布。但是我必须想出一个Java函数才能完成这个function。我在页面/ swing容器中有多个矩形。我知道它的界限矩形。现在我需要找到哪些矩形相互交叉。这里交叉矩形的一件好事总是有相同的y分量,所有矩形都是相同的高度。我必须根据它们的x坐标和宽度配对矩形 例如 Rect1 has bounds:20,10,50,20 Rect2 has bounds:60,10,30,20 Rect3 has bounds:40,10,40,20 Rect4 has bounds 20,30,40,20 Rect5 has bounds 20,50,30,20 现在我的方法应该返回 Rect1 and Rect2 Rect2 and Rect3 Rect3 and Rect1 是否有任何算法或之前有人试过?提出你的建议 编辑:更具体地说,我的矩形实际上是一个JLabel。 我将标签放在表格的行内。

拖动JPanel

我在尝试拖动JPanel时遇到了问题。 如果我纯粹在MouseDragged中实现它: public void mouseDragged(MouseEvent me) { me.getSource().setLocation(me.getX(), me.getY()); } 我得到了移动物体一直在两个位置之间弹跳的奇怪效果(产生更多“拖动”事件)。 如果我按照这篇文章中描述的方式进行,但是: public void mouseDragged(MouseEvent me) { if (draggedElement == null) return; me.translatePoint(this.draggedXAdjust, this.draggedYAdjust); draggedElement.setLocation(me.getX(), me.getY()); } 我得到的元素弹跳效果要少得多,但它仍然可见,元素只移动鼠标指针的一半。 为什么会发生这种情况/如何解决这种情况?

平铺的图像摆动

我有任务准备两个摆动的窗户。 一个包含正方形网格,其中包含随机数。 第二,我需要加载平铺图像,然后以正确的顺序显示它们,形成平铺图像。 Windows应如下所示: 替代文字http://img535.imageshack.us/img535/3129/lab8a.jpg 好的,那怎么咬这个? 我只使用了几次摆动来绘制一些二维折线,所以基本上我理论上现在该做什么。 好吧,窗口号1:我开始为窗口创建Jframe。 然后我做循环,并在其中创建16个JLabel随机数字? 如何在每个图块和整个窗口之间设置边距? 窗口编号2:所以我开始相同,但不是加载数字我添加图像? 现在,如何从文件加载图像然后将其设置为背景?

是否有任何框架用于处理swing应用程序中的数据库请求?

我相信任何在gui应用程序中处理数据库请求的程序员都遇到了以下部分或全部问题: 您的GUI冻结是因为您从事件调度线程中调用数据库层 如果有多个窗口/面板/ jframe,用户可以在其中启动数据库请求,则性能会下降,因为您无法控制用户创建的线程 用户可能能够锁定应用程序甚至数据库,因为他在第一个操作完成之前多次调用任何操作 我想知道的是:是否有任何框架可以处理在事件调度线程之外处理一组有序的长时间运行操作(包括但不限于数据库调用,即计算)的要求? 注意:我知道SwingWorker 😉

Swing:如何从AWT线程运行作业,但是在窗口布局之后?

我的完整GUI在AWT线程内运行,因为我使用SwingUtilities.invokeAndWait(…)启动主窗口。 现在我有一个JDialog,它只是显示一个JLabel ,它表示某个作业正在进行中,并在作业完成后关闭该对话框。 问题是:标签不显示。 这项工作似乎是在JDialog完全布局之前开始的。 当我只是打开对话框而不等待作业并关闭时, 会显示标签。 对话框在其ctor中执行的最后一项操作是setVisible(true) 。 诸如revalidate() , repaint() ,……之类的东西也无济于事。 即使我为受监视的作业启动一个线程,并使用someThread.join()等待它也没有帮助,因为当前线程(即AWT线程)被join阻塞,我猜。 用JFrame替换JDialog也无济于事。 那么,这个概念一般是错的吗? 或者,在确保JDialog (或JFrame )完全布局后 ,我可以管理它以完成某项工作吗? 我想要实现的简化算法: 创建JDialog的子类 确保它及其内容完全布局 启动一个进程并等待它完成(线程与否,无关紧要) 关闭对话框 我设法编写了一个可重现的测试用例: 编辑现在解决了问题:这个用例确实显示了标签,但由于对话框的模态,它在“模拟过程”之后无法关闭。 import java.awt.*; import javax.swing.*; public class _DialogTest2 { public static void main(String[] args) throws Exception { SwingUtilities.invokeAndWait(new Runnable() { final JLabel jLabel = new JLabel(“Please wait…”); @Override public […]