我创建了一个包含JTextArea + A JButton的单元格的列,如下面第3列中的图片所示:

但是当我更新该列中的单元格值时,我的CellRenderer和CellEditor遇到了很多问题,因为我的代码有点复杂.所以我想用2列替换该列.一列是正常的String单元格,另一列是JButton单元格,但这两列应该与上面图像中出现的第3列具有相同的外观.所以我的问题是:
1.如何将2列的标题合并在一起?
2.如何删除JButtons列的左边框?
如果这些是固定的,那么2列将具有与上面图像相同的外观+更新单元格值将更容易.
--------------------------------编辑:我的代码示例问题:
好的......你问了.我的代码是巨大的,但如果你可以帮助我修复它,那将是完美的.我为我的问题创建了一个正在运行的jar样本,并包含了我的源代码.你可以在这里下载 :
问题是我使用一个按钮来允许排序表行(向上/向下移动),但是当我这样做时,一些移动的单元格值不会更新!
您可以看到以下屏幕截图:
问题出在我正在使用的单元格编辑器中...但我无法修复它.
我在我的网站上使用此代码来显示我的网站的Google搜索结果:
<!-- Search block -->
<div class="searchBox">
<form method="get" action="http://www.google.com/search">
<input type="text" name="query" class="searchField" />
<input type="hidden" name="sitesearch" value="my_website.com">
<input type="submit" value="" class="searchSubmit">
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
我喜欢这个简单的代码,我不喜欢使用谷歌自定义搜索,但是有没有办法在我指定的页面中显示嵌入此搜索的输出?
我创建了一个Mac Java Swing应用程序,并在"Info.plist"文件中为它设置了文件扩展名(*.pkkt),因此当双击该文件时,它会打开我的应用程序.
当我这样做时,程序运行正常.现在我需要在程序中加载(*.pkkt)项目,但文件路径不作为参数传递给Mac中的main(...)方法,就像在Windows操作系统中一样.
经过一番搜索,我找到了一个Apple处理jar" MRJToolkitStubs ",它有MRJOpenDocumentHandler接口来处理这些点击的文件.我已尝试通过在主程序类中实现该接口来加载该文件,但它无法正常工作.在程序启动时永远不会调用实现的方法.
这个界面如何运行?
-------------------------------------------------编辑:添加代码示例
这是我正在使用的代码:
Run Code Online (Sandbox Code Playgroud)public static void main( final String[] args ) { . . . MacOpenHandler macOpenHandler = new MacOpenHandler(); String projectFilePath = macOpenHandler.getProjectFilePath(); // Always Empty !! }
class MacOpenHandler implements MRJOpenDocumentHandler {
private String projectFilePath = "";
public MacOpenHandler () {
com.apple.mrj.MRJApplicationUtils.registerOpenDocumentHandler(this) ;
}
@Override
public void handleOpenFile( File projectFile ) {
try {
if( projectFile != null ) {
projectFilePath = projectFile.getCanonicalPath();
System.out.println( projectFilePath ); // Prints the …Run Code Online (Sandbox Code Playgroud) 我正在读一本书并从中删除了一些单词.我的问题是这个过程需要很长时间,我想让它的性能更好(更少的时间),例如:
Vector<String> pages = new Vector<String>(); // Contains about 1500 page, each page has about 1000 words.
Vector<String> wordsToDelete = new Vector<String>(); // Contains about 50000 words.
for( String page: pages ) {
String pageInLowCase = page.toLowerCase();
for( String wordToDelete: wordsToDelete ) {
if( pageInLowCase.contains( wordToDelete ) )
page = page.replaceAll( "(?i)\\b" + wordToDelete + "\\b" , "" );
}
// Do some staff with the final page that does not take much time.
}
Run Code Online (Sandbox Code Playgroud)
此代码大约需要3分钟才能执行.如果我跳过replaceAll(...)的循环,我可以节省超过2分钟.那么有没有办法以更快的性能执行相同的循环?
我想创建一个Java正则表达式来获取以大写字母开头的所有单词,然后是大写或小写字母,但这些字母可能包含重音符号.
例子 :
哪里
Àdónde
RAPIDO
阿斯特
你能帮帮我吗?
如果我有一个包含100个值的Java映射,并且我想使用以下代码创建它的另一个副本:
LinkedHashMap<String, Vector<String>> map1 = new LinkedHashMap<String, Vector<String>>();
LinkedHashMap<String, Vector<String>> map2 = new LinkedHashMap<String, Vector<String>>( map1 );
Run Code Online (Sandbox Code Playgroud)
然后,如果我在map1的任何Vector条目中更改任何值,它也会在map2中受到影响.我不要那个.我希望map2在map1上完全独立.
最好的方法是什么?
正如标题所示......当用户单击Java Swing应用程序中的按钮时,我尝试使用以下代码执行PHP脚本:
URL url = new URL( "http://www.mywebsite.com/my_script.php" );
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
Run Code Online (Sandbox Code Playgroud)
但没有任何反应...... 有什么不对吗?
我有一个包含这样的数据的字符串向量:
5:34,5:38,17:21,22:11,......
如果我尝试使用Collections.sort(...)合并它; 它会像这样:
17:21,22:11,5:34,5:38
其实我希望它看起来像这样:
5:34,5:38,17:21,22:11
所以我想根据冒号":"之前的数字对元素进行排序,然后如果某些元素在":"之前具有相同的数字,则根据":"之后的数字对它们进行排序.
最简单的方法是什么?
我在我的swing应用程序中使用此Java代码来显示一个带有下拉选择列表的输入对话框,以便用户可以从该列表中选择一个项目:
String[] carModelsArray = { "Honda", "Mitsubishi", "Toyota" };
String selectedValue = (String)JOptionPane.showInputDialog( null, "Select a car model from the list below:", "Car model...",
JOptionPane.QUESTION_MESSAGE,
null,
carModelsArray,
carModelsArray[ 0 ] );
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常,但我想知道我是否还可以为选择列表中的每个项添加一个图标,因此下拉选择列表将如下所示:

我试图将此列表中的项目设置为JLabel项目,但是当在下拉列表中呈现时,JLabel对象都被转换为String值,就像它为列表中的每个项目调用JLabel.toString()方法一样得到它的价值.
有没有办法实现这一目标?