Tag: swing

图像未从List 重新绘制

我正在尝试从指定的路径加载图像,文件列表存储在List 中。 在第一次初始化图像时它会显示但是当我试图从包含文件列表的List实例中显示下一个图像时,它不会重新绘制图像 。 什么是错误的是我在构造函数中第一次初始化图像覆盖新图像,现在在第一次初始化图像外部构造函数我不知道。 我的代码: public void nextImage(int cnt) { System.out.println(cnt); if (cnt < imageFiles.size()) { System.out.println(imageFiles.size()); try { bg = ImageIO.read(new File((imageFiles.get(cnt)).toString())); scaled = getScaledInstanceToFit(bg, new Dimension(600, 600)); setBackground(Color.BLACK); } catch(Exception e) { e.printStackTrace(); } } MouseHandler handler = new MouseHandler(); addMouseListener(handler); addMouseMotionListener(handler); System.out.println(cnt); System.out.println(imageFiles.get(cnt).toString()); } 菜单项点击代码: JMenuItem mntmRestoreImage = new JMenuItem(“Next Image”); […]

Swing – setResizable(true)使JFrame标题栏更高,窗口大小更小

如果有人将其标记为重复,我会自己做:我们之前有一个非常相对的问题: Java setResizable(false)改变窗口大小(swing) 没有解决方案适合我。 这是我的SSCCE: import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.plaf.nimbus.NimbusLookAndFeel; public class TitleHeightChange extends JFrame { private static final String lp = System.lineSeparator(); public TitleHeightChange() { begin(); } private void begin() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // […]

作为JTable-CellEditor的JTextArea-Dialog错过了第一个输入的字符

我们需要一个用于JTable的CellEditor来编辑大型多行文本。 我们尝试使用一个可视化扩展TableCell的弹出TableCell ,它将细胞重叠到右边和底部。 如果电池位于右下角,屏幕边界附近等,则会导致各种问题。 然后我们决定使用模态JDialog来编辑单元格值。 因此用户可以移动对话框,我们可以坚持其大小和位置。 现在问题开始了;-) 我们无法将第一个键入的字符“转发”到Dialog。 有很多关于堆栈溢出的例子,这个问题是针对自定义CellEditor解决的,它直接显示在Table(Cell)中,例如: 在基于JTable面板的单元格编辑器中丢失第一个字符 以下SSCCE(来自camickrs的回答: https ://stackoverflow.com/a/3591230/361227)显示第二个TableColumn中的第一次击键大部分时间都会丢失。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Frame; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultCellEditor; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; /** * Example taken from this […]

JasperReports类路径

我想在我的NetBeans swing项目中包含.jrxml文件。 我使用NetBeans 7.0.1 。 我在源代码包中创建了一个名为“rep”的包,并创建了一个名为“rp.jrxml”的简单.jrxml文件。 我在NetBeans中安装了iReport插件。 当我设置外部.jrxml文件时,会显示(“D:/MyReports/firstreport.jrxml”),但是当我设置NetBeans包路径时,它没有显示。 这是我的代码。 try { String reportSource=”/rep/rp.jrxml”; //and also “rep/rp.jrxml” is used.no result. Map params = new HashMap(); JasperReport jasperReport = JasperCompileManager.compileReport(reportSource); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource()); JasperViewer.viewReport(jasperPrint, false); } catch (Exception e) {e.printStackTrace(); } 然后给出以下错误; net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: rep\rp.jrxml (The system cannot find the path specified) 如何在我的NetBeans项目中保留jrxml文件并在项目中使用jrxml文件?

显示ImageIcon的一部分

Bonjour,我正在尝试动画,并且发现自己在连续的单个图像上发现了一条爆炸。 我希望他们按顺序依次显示爆炸动画。 当然,我在JLabel上思考ImageIcon ,但是当我查看JLabel规范时,我发现了这一行: JLabel(Icon icon) – 使用指定的图像创建JLabel实例。 标签在其显示区域中垂直和水平居中。 我希望能够在标签中仅显示完整图像的一部分,然后加载其中的另一部分:基本上在一个图像上加载不同的阶段。 有没有办法在不切割图像和单独加载图像的情况下执行此操作?

不使用Thread.sleep()让一些东西等待?

我试图用一些字符串来介绍一个我希望等待另一个字符串弹出的游戏,并且我不直接想使用Thread.sleep()让它等待,因为我不确定是否这是最好的选择。 有没有其他方法可以让某些东西等待而不是让线程睡眠,或者我只是让线程睡眠?

如何在JPanel中添加图像

我在我的框架中添加了一个tabbedpane并调用了tab.add(“”,new Img()),它使用JPanel扩展了Img .. 问题是:我可以在JPanel和drawImage中添加JScrollPane作为JPanel的背景,还可以在该图像上进行额外的绘制,例如在背景图像上制作路线(例如地图),因为我想在这些路线上应用Prim算法… 如果我想在tabbedpane上添加额外的面板,如上所述,我怎么能控制这些标签操作.. 示例代码就像…… 如果您对Prim的算法和图算法有任何想法,请帮助我! 谢谢! public class MainFrame extends JFrame { private JMenuBar menuBar = new JMenuBar(); private JMenu menuFile = new JMenu(); private JMenuItem menuFileExit = new JMenuItem(); private JPanel jPanel1 = new JPanel(); private JLabel lbl1=new JLabel(); private JLabel lbl2=new JLabel(); private JPanel jPanel2 = new JPanel(); private JTabbedPane jTabbedPane1 […]

包装线,右对齐,自动调整JTable中的行高

我编写了一个Java应用程序,我需要一个JTable类的对象,它具有一些特性: 自动包装线 正确对齐 自动调整行高(这意味着例如行的大小为25,但表中另一行的大小为50,内容大小为行) 渲染速度必须很高 但是我的代码不能快速完成并且没有完全的顶级function,我在最后一个问题中编写了我的应用程序的最小版本: 这是我的gui课程: import javax.swing.*; import java.awt.*; public class GUI extends JFrame { private BankTable table; private JScrollPane scrollPane; public GUI(){ super(“Bank Table”); JPanel contentPanel = new JPanel(); setContentPane(contentPanel); contentPanel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); setLayout(new BorderLayout()); setMinimumSize(new Dimension(1000,700)); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); makeTable(); scrollPane = new JScrollPane(table); scrollPane.getVerticalScrollBar().setUnitIncrement(50); add(scrollPane,BorderLayout.CENTER); setVisible(true); } public void makeTable(){ String[][]data= new String[][]{{“0212670003009”, “ص […]

从内部类中获取事件,扩展SwingWorker

我试图从内部类中触发事件,但它不起作用。 这是我的代码: 摘要型号: public abstract class AbstractModel { public PropertyChangeSupport propertyChangeSupport; public AbstractModel() { propertyChangeSupport = new PropertyChangeSupport(this); } public void addPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue); } } 模型: public class GUImodel extends AbstractModel { // […]

如何实现猜词游戏的MVC模式?

我有一些猜词游戏的工作代码。 但我担心它并不局限于设计规则,尤其是MVC模式。 附加的图像是我目前的GUI 。 我把物品从一个类扔到另一个类,我听说这是一种糟糕的风格。 虽然我同意这一点,但我无法为猜词游戏或通常被称为刽子手的人提出好的MVC模式方法。 主要应用程序将有这样的一些: public class Application { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { runApp(); } }); } public static void runApp() { Model model = new Model(); View view = new View(model); //not sure if this correct, some suggest it is valid and […]