Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这段代码在Vista中工作,而不是在7中? 由于某种原因,每当我有人在Vista运行这个程序时,它工作得完美无瑕,但是一旦我把它移到Windows 7 PC,它就停在ActuistListar的动作执行方法的中间,意味着我可以点击我的选择,但它永远不会说选择的大小。 有办法解决这个问题吗 import java.io.*; import java.util.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class SizerFrame extends JFrame { ButtonGroup buttons = new ButtonGroup(); JTextField width = new JTextField(2); JTextField height = new JTextField(2); double inchesPerTimeline = 2.1; public SizerFrame() { super("Timeline Application"); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(screen.width/2-125,screen.height/2-90,250,180); getContentPane().setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); int[] gridX = new int[]{0,0,0,0}; int[] gridY = new int[]{0,1,2,3}; int[] gridW = new int[]{1,1,2,5}; String[] titles = new String[]{"6\"","9\"","10\"","Custom"}; String[] actions = new String[]{"6","9","10","C"}; for (int a = 0; a < 4; a++) { JRadioButton current = new JRadioButton(titles[a]); current.setActionCommand(actions[a]); c.gridx = gridX[a]; c.gridy = gridY[a]; c.gridwidth = gridW[a]; buttons.add(current); getContentPane().add(current,c); } c.gridwidth = 1; String[] title = new String[]{" ","Width","Height"}; gridX = new int[]{9,10,12}; for (int a = 0; a< 3; a++) { c.gridx = gridX[a]; getContentPane().add(new JLabel(title[a]),c); } c.gridx = 11; getContentPane().add(width,c); c.gridx = 13; getContentPane().add(height,c); c.gridx = 11; c.gridy = 0; c.gridwidth = 2; JButton button = new JButton("Done"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ButtonModel x = buttons.getSelection(); String size = "XXX"; System.out.println("Getting screen resolution"); int screenRes = Toolkit.getDefaultToolkit().getScreenResolution(); System.out.println("Successfully got screen resolution"); if (x!=null) size = x.getActionCommand(); try{ TimeTable.width = new Integer(size)*screenRes; TimeTable.height = (int)((TimeTable.titleCount+1)*inchesPerTimeline*screenRes); } catch(NumberFormatException ex) { try{ TimeTable.width = (int)(new Double(width.getText().trim())*screenRes); TimeTable.height = (int)(new Double(height.getText().trim())*screenRes); } catch (NumberFormatException except) { return; } } TimeTable.ready = true; System.out.println("Size selected"); dispose(); } }); getContentPane().add(button,c); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent winEvt){ System.exit(0); } }); setVisible(true); } } import java.io.*; 导入java.util.*; 导入java.awt.*; 导入javax.swing.*; 导入java.awt.event.*; 公共类SizerFrame扩展了JFrame{ ButtonGroup buttons=新建ButtonGroup(); JTextField width=新的JTextField(2); JTextField高度=新的JTextField(2); 双英寸标准线=2.1; 公共SizerFrame() { 超级(“时间表申请”); 维度屏幕=Toolkit.getDefaultToolkit().getScreenSize(); 立根(屏幕宽度/2-125,屏幕高度/2-90250180); getContentPane().setLayout(新的GridBagLayout()); GridBagConstraints c=新的GridBagConstraints(); int[]gridX=新的int[]{0,0,0}; int[]gridY=新的int[]{0,1,2,3}; int[]gridW=新的int[]{1,1,2,5}; 字符串[]标题=新字符串[]{“6\”、“9\”、“10\”、“自定义”}; 字符串[]操作=新字符串[]{“6”、“9”、“10”、“C”}; 对于(int a=0;a_Java_Windows 7_Windows Vista_Toolkit_Screen Resolution - Fatal编程技术网

为什么这段代码在Vista中工作,而不是在7中? 由于某种原因,每当我有人在Vista运行这个程序时,它工作得完美无瑕,但是一旦我把它移到Windows 7 PC,它就停在ActuistListar的动作执行方法的中间,意味着我可以点击我的选择,但它永远不会说选择的大小。 有办法解决这个问题吗 import java.io.*; import java.util.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class SizerFrame extends JFrame { ButtonGroup buttons = new ButtonGroup(); JTextField width = new JTextField(2); JTextField height = new JTextField(2); double inchesPerTimeline = 2.1; public SizerFrame() { super("Timeline Application"); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(screen.width/2-125,screen.height/2-90,250,180); getContentPane().setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); int[] gridX = new int[]{0,0,0,0}; int[] gridY = new int[]{0,1,2,3}; int[] gridW = new int[]{1,1,2,5}; String[] titles = new String[]{"6\"","9\"","10\"","Custom"}; String[] actions = new String[]{"6","9","10","C"}; for (int a = 0; a < 4; a++) { JRadioButton current = new JRadioButton(titles[a]); current.setActionCommand(actions[a]); c.gridx = gridX[a]; c.gridy = gridY[a]; c.gridwidth = gridW[a]; buttons.add(current); getContentPane().add(current,c); } c.gridwidth = 1; String[] title = new String[]{" ","Width","Height"}; gridX = new int[]{9,10,12}; for (int a = 0; a< 3; a++) { c.gridx = gridX[a]; getContentPane().add(new JLabel(title[a]),c); } c.gridx = 11; getContentPane().add(width,c); c.gridx = 13; getContentPane().add(height,c); c.gridx = 11; c.gridy = 0; c.gridwidth = 2; JButton button = new JButton("Done"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ButtonModel x = buttons.getSelection(); String size = "XXX"; System.out.println("Getting screen resolution"); int screenRes = Toolkit.getDefaultToolkit().getScreenResolution(); System.out.println("Successfully got screen resolution"); if (x!=null) size = x.getActionCommand(); try{ TimeTable.width = new Integer(size)*screenRes; TimeTable.height = (int)((TimeTable.titleCount+1)*inchesPerTimeline*screenRes); } catch(NumberFormatException ex) { try{ TimeTable.width = (int)(new Double(width.getText().trim())*screenRes); TimeTable.height = (int)(new Double(height.getText().trim())*screenRes); } catch (NumberFormatException except) { return; } } TimeTable.ready = true; System.out.println("Size selected"); dispose(); } }); getContentPane().add(button,c); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent winEvt){ System.exit(0); } }); setVisible(true); } } import java.io.*; 导入java.util.*; 导入java.awt.*; 导入javax.swing.*; 导入java.awt.event.*; 公共类SizerFrame扩展了JFrame{ ButtonGroup buttons=新建ButtonGroup(); JTextField width=新的JTextField(2); JTextField高度=新的JTextField(2); 双英寸标准线=2.1; 公共SizerFrame() { 超级(“时间表申请”); 维度屏幕=Toolkit.getDefaultToolkit().getScreenSize(); 立根(屏幕宽度/2-125,屏幕高度/2-90250180); getContentPane().setLayout(新的GridBagLayout()); GridBagConstraints c=新的GridBagConstraints(); int[]gridX=新的int[]{0,0,0}; int[]gridY=新的int[]{0,1,2,3}; int[]gridW=新的int[]{1,1,2,5}; 字符串[]标题=新字符串[]{“6\”、“9\”、“10\”、“自定义”}; 字符串[]操作=新字符串[]{“6”、“9”、“10”、“C”}; 对于(int a=0;a

为什么这段代码在Vista中工作,而不是在7中? 由于某种原因,每当我有人在Vista运行这个程序时,它工作得完美无瑕,但是一旦我把它移到Windows 7 PC,它就停在ActuistListar的动作执行方法的中间,意味着我可以点击我的选择,但它永远不会说选择的大小。 有办法解决这个问题吗 import java.io.*; import java.util.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class SizerFrame extends JFrame { ButtonGroup buttons = new ButtonGroup(); JTextField width = new JTextField(2); JTextField height = new JTextField(2); double inchesPerTimeline = 2.1; public SizerFrame() { super("Timeline Application"); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(screen.width/2-125,screen.height/2-90,250,180); getContentPane().setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); int[] gridX = new int[]{0,0,0,0}; int[] gridY = new int[]{0,1,2,3}; int[] gridW = new int[]{1,1,2,5}; String[] titles = new String[]{"6\"","9\"","10\"","Custom"}; String[] actions = new String[]{"6","9","10","C"}; for (int a = 0; a < 4; a++) { JRadioButton current = new JRadioButton(titles[a]); current.setActionCommand(actions[a]); c.gridx = gridX[a]; c.gridy = gridY[a]; c.gridwidth = gridW[a]; buttons.add(current); getContentPane().add(current,c); } c.gridwidth = 1; String[] title = new String[]{" ","Width","Height"}; gridX = new int[]{9,10,12}; for (int a = 0; a< 3; a++) { c.gridx = gridX[a]; getContentPane().add(new JLabel(title[a]),c); } c.gridx = 11; getContentPane().add(width,c); c.gridx = 13; getContentPane().add(height,c); c.gridx = 11; c.gridy = 0; c.gridwidth = 2; JButton button = new JButton("Done"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ButtonModel x = buttons.getSelection(); String size = "XXX"; System.out.println("Getting screen resolution"); int screenRes = Toolkit.getDefaultToolkit().getScreenResolution(); System.out.println("Successfully got screen resolution"); if (x!=null) size = x.getActionCommand(); try{ TimeTable.width = new Integer(size)*screenRes; TimeTable.height = (int)((TimeTable.titleCount+1)*inchesPerTimeline*screenRes); } catch(NumberFormatException ex) { try{ TimeTable.width = (int)(new Double(width.getText().trim())*screenRes); TimeTable.height = (int)(new Double(height.getText().trim())*screenRes); } catch (NumberFormatException except) { return; } } TimeTable.ready = true; System.out.println("Size selected"); dispose(); } }); getContentPane().add(button,c); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent winEvt){ System.exit(0); } }); setVisible(true); } } import java.io.*; 导入java.util.*; 导入java.awt.*; 导入javax.swing.*; 导入java.awt.event.*; 公共类SizerFrame扩展了JFrame{ ButtonGroup buttons=新建ButtonGroup(); JTextField width=新的JTextField(2); JTextField高度=新的JTextField(2); 双英寸标准线=2.1; 公共SizerFrame() { 超级(“时间表申请”); 维度屏幕=Toolkit.getDefaultToolkit().getScreenSize(); 立根(屏幕宽度/2-125,屏幕高度/2-90250180); getContentPane().setLayout(新的GridBagLayout()); GridBagConstraints c=新的GridBagConstraints(); int[]gridX=新的int[]{0,0,0}; int[]gridY=新的int[]{0,1,2,3}; int[]gridW=新的int[]{1,1,2,5}; 字符串[]标题=新字符串[]{“6\”、“9\”、“10\”、“自定义”}; 字符串[]操作=新字符串[]{“6”、“9”、“10”、“C”}; 对于(int a=0;a,java,windows-7,windows-vista,toolkit,screen-resolution,Java,Windows 7,Windows Vista,Toolkit,Screen Resolution,简要说明: 我有一个在Windows Vista中用光Excel的宏,我试图将其分发到运行Windows 7的计算机。执行时,代码在此点之后无法继续执行,即它从未打印出“所选大小”字样“。程序的其余部分从C:\Users\?\AppData\TimeLineMacrogram文件夹引入csv文件,然后在同一目录中创建图像。但这是代码中目前被破坏的部分。每当GUI弹出时,我都会选择“9”选项并单击“完成”,该选项应将9作为一个参数传入,然后打印出“选择的大小”,但它不会,它只会处理窗口。请帮助。L

简要说明: 我有一个在Windows Vista中用光Excel的宏,我试图将其分发到运行Windows 7的计算机。执行时,代码在此点之后无法继续执行,即它从未打印出“所选大小”字样“。程序的其余部分从C:\Users\?\AppData\TimeLineMacrogram文件夹引入csv文件,然后在同一目录中创建图像。但这是代码中目前被破坏的部分。每当GUI弹出时,我都会选择“9”选项并单击“完成”,该选项应将9作为一个参数传入,然后打印出“选择的大小”,但它不会,它只会处理窗口。请帮助。

Longshot猜测:


如果“宽度”和“高度”文本字段没有内容,则操作侦听器将退出:在两个NumberFormatException之后返回。这将阻止显示“所选大小”,而不会处理帧。如果获得输出,“成功获得屏幕分辨率”“然后它似乎停止工作,这可能是原因。但如果你经历了这些,然后点击其他东西,然后完成,它会选择打印大小。

我只能怀疑JDK中有一个错误——您在这两个版本中使用的JDK版本完全相同吗?不考虑它是作为一个程序导出到其他使用类文件的计算机上的问题唯一的问题是JREI程序挂起、终止或出错?对不起,您是对的,我是指JRE。我在Win7上选择了“大小”(注释出
时间表)。Java 7(beta)。@如果0等于1,则在两个NumberFormatException之后,如果没有从actionPerformed方法返回,则该帧将被释放,而不会发生其他任何事情=/