我有一个Java应用程序,它打开一个JFrame并绘制它.问题是,当我尝试退出应用程序时,通过关闭JFrame窗口(在我的Mac或PC上)或从菜单栏(在我的Mac上)选择退出,应用程序就会挂起.有趣的是,这种行为只有在我将JButton添加到我的应用程序后才出现.这是我的代码:
public class MyApplicationFrame extends JFrame {
public MyApplicationFrame(MyApplicationLogic l) {
super();
this.appLogic = l;
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override public void run() {
createAndShowGUI();
}
});
}
catch(InterruptedException e) { }
catch(InvocationTargetException e) { }
g = getGraphics();
}
public void paint() { ... }
private void createAndShowGUI() {
final Container c = getContentPane();
c.setLayout(new java.awt.FlowLayout());
final JButton startButton = new JButton("Start");
// if I comment out these lines with the startButton, everything works
startButton.addActionListener(new ActionListener() {
@Override …Run Code Online (Sandbox Code Playgroud) 有没有什么办法可以让我每次运行程序时都能以相同的顺序迭代其元素的Java Set对象(而不是SortedSet).(每次运行的元素都是相同的.)我正在尝试调试我的程序但是我无法重现我的错误,因为迭代器每次都以不同的顺序返回值.谢谢.
我正在用CSS做一些工作,我有一个<li>元素,<div>里面有一个元素.该<div>元件呈封闭的宽度<li>元素,但内部的文本内容<div>是宽于<li>(并因此进至两行).我想要做的是使其<div>宽度与其最长的文本元素相同,是否有人知道如何做到这一点?谢谢.
<ul style="display: inline-block; list-item-style: none">
<li id="foo" style="float: left; list-style-type: none; position: relative;">
<a href="...">brief text</a>
<div id="bar" style="position: absolute; width=???">
<ul>
<li>a long chunk of text</li>
<li>an even longer piece of text</li>
</ul>
</div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在,的宽度div#bar等于它的封闭元件,的宽度的100% li#foo,并且宽度li#foo等于在其文本的宽度<a>标记(加填充和边框).我想做的是做div#bar宽度<li>an even longer piece of text</li>,但我无法弄清楚如何实现这一点,即使使用Javascript ....或者我将被迫使用绝对测量宽度?任何建议将不胜感激.
我正在尝试编写一个shell脚本,它使用LibreOffice将.odt文件转换为.pdf,但却陷入了别名问题.我的内容如下~/.bash_profile:
alias soffice='/Applications/LibreOffice.app/Contents/MacOS/soffice'
Run Code Online (Sandbox Code Playgroud)
我的shell脚本中有以下行:
soffice --headless --convert-to pdf $filename
Run Code Online (Sandbox Code Playgroud)
这会产生"第14行:soffice:command not found"错误.我不知道发生了什么事,因为我可以打电话
$ alias
alias soffice='/Applications/LibreOffice.app/Contents/MacOS/soffice'
Run Code Online (Sandbox Code Playgroud)
和
$ soffice --headless --convert-to pdf thefile.odt
Run Code Online (Sandbox Code Playgroud)
也行得很好.有谁知道为什么别名在我的脚本中不起作用以及我能做些什么呢?谢谢.