我已经开发了一个Java应用程序,它在Windows XP,Windows 7和Windows 8消费者预览版中运行良好.该应用程序使用GWT,带有Spring框架的CSS3和内置Jetty服务器开发,该服务器用于使用Internet Explorer启动应用程序.
在探索了metro应用程序原则后,我希望为我的应用程序用户提供使用is作为metro应用程序的额外好处
我读到了DWR,gwt-explorer.但我仍然不确定.有没有其他解决方法,最小的代码更改?
谢谢Mr.Andrew Thompson帮助我.
我正在维护一些代码,实现Java中的自定义外观.在最近升级Java版本时(出于其他原因)我发现由于找不到字段而导致外观破损
sun.swing.SwingUtilities2.BASICMENUITEMUI_MAX_TEXT_OFFSET;
Run Code Online (Sandbox Code Playgroud)
这是一个紧密基于BasicMenuItemUI.layoutMenuItem()Java 6u02(这里是源代码)的类.我发现Oracle已经重新考虑了他们的代码,以便MenuItemLayoutHelper在我使用的新目标版本中包含一个Java 6u31.
我可以使用MenuItemLayoutHelper但是这并没有解决问题它只是把它关闭,直到下一次更改Java内部.因此,我已将此作为一种解决方案.
我正在建议如何实现从左到右的布局,类似于BasicMenuItemUI不需要知道父母的最大文本偏移量(删除对sun.swing.SwingUtilities的不良依赖).
假设我想在JComboBox中使用自定义图像作为箭头,我该怎么做?
我知道有可能使用synth xml文件,甚至可能使用UIManager.put(...),但我不知道如何使用.我此时想要做的就是将箭头图像更改为其他内容,无论是以编程方式还是仅覆盖其使用的图像.我怎么能这样做?
我想在Swing中创建自己的外观和感觉.任何人都可以给我简明扼要的知识吗?
我注意到Metal L&F不支持Unicode中的某些箭头字符,而Nimbus和GTK L&F确实支持它们.
不支持的字符仅显示为: ...
我可以吗
编辑:或者,如果它只取决于L&F的默认字体,我的问题或许应该是:
"我如何找出,哪种Java字体支持哪些Unicode字符?"
我正试着打电话setBackground给它JPanel,以便它与我的颜色相匹配JFrame,但是颜色比我输入的颜色要亮一些.
我已经尝试过设置HSB,RGB,HEX代码,它们都给我相同的颜色,更亮我的颜色版本.
不太清楚如何获得我想要的颜色?
编辑:
我从Photoshop中获取颜色.我查找正确的颜色(我想要的)并复制HSB RGB或HEX代码.看起来它应该在Photoshop中,但java给我一个更明亮的颜色?
我用过java代码:
Color color = new Color(0x94b3c7);
jpanel.setBackground(color);
Run Code Online (Sandbox Code Playgroud) 我目前正在为我正在工作的公司的产品开发一组自定义控件.为此,我扩展了很多Swing控件并且还覆盖了很多paint方法.
为了保持一致的配色方案,我收到了我的颜色paint,setBackground使用方法等UIManager.getColor.
这是完全没问题的,直到我们注意到Nimbus LookAndFeel与当前的JRE版本一起使用时,使用了完全不同的颜色键,因此许多东西看起来完全不合适.
例如,虽然所有其他股票LookAndFeels(金属,Windows经典,Windows,CDE/Motif,GTK)已将关键字"文本"定义为文本的明亮背景,而"textText"则定义为相应的前景色,而" Nimbus "中的"文本"实际上是黑色前景色,并且似乎不存在标准文本背景色.
"TextField.background"可以工作,但是,例如,Windows LookAndFeels不存在.
我想你现在已经解决了这个问题.我不想为每个LAF维护一组颜色键,谁知道未来将添加哪些LAF以及我的公司可能决定使用哪些.
当然,一个简单的解决方案是摆脱Nimbus,但可以理解的是我的老板根本不喜欢这个想法,除了Nimbus现在是JRE的一部分,应该得到支持.
所以我想知道是否有任何标准化的方法来获得依赖于LAF的颜色,例如"文本背景/前景","选择文本bg/fg"等等?
Swing组件中的文本是否具有默认字体?特别是,JTabbedPanes 上的标签标签怎么样?
我正在研究用Swing制作的GUI的模型,并希望它将它与我抓住Swing应用程序的屏幕图像混合.
我试图创建一个JTable,其行标题看起来就像一个列标题,我花了太多时间在它上面:/我的情况类似于这个问题:JTable行标题实现 ,也许这一个: 自定义jtable具有表格单元格标题颜色的cellrenderer
他们似乎还没有把我带到那里.我搜索了很多例子,但都缺乏.甚至没有任何带有行标题的表的例子来自Oracle/Sun. 看起来这种表不应该那么罕见.
这个只是格式化第一列,但它看起来不像列标题:http: //java-swing-tips.blogspot.com/2011/01/jtable-rowheader.html
这个似乎使用JList作为行标题,并且它有对齐问题(每行关闭+1像素),并且当我设置外观时看起来不那么好. http://www.java2s.com/Code/Java/Swing-Components/TableRowHeaderExample.htm
这个似乎是我需要使用的想法(行标题是一个单独的JTable,但随后作为行标题加载到JScrollPane),但我需要调整它到我的代码,然后确保行标题得到正确标题的外观和感觉.
http://www.chka.de/swing/table/row-headers/JTable.html
这就是我所做的减去最后一点.我尝试将表头的渲染器也作为行标题的渲染器.行标题/第一列现在是灰色而不是白色,就像它只是另一个数据列时一样,但仍然看起来不像列标题.这是正确的吗?或者我应该坚持将它作为主表中的常规列保留并使用它做其他事情?
所以这是我更新表的代码.此方法仅为列标题采用String数组,为行标题采用String数组,为主数据采用2D String数组.我有一个JTable dispTableRowHeader的行头和一个JTable dispTable主数据表.
private void updateDispTable(String[][] graphicalTable, String[] graphicalTableColumnHeader, String[] graphicalTableRowHeader) {
//set model for the main data table, put in data. Also prevent editing cells
dispTable.setModel(new javax.swing.table.DefaultTableModel(
graphicalTable,
graphicalTableColumnHeader
){
@Override
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
});
//some mods for main data table
dispTable.getTableHeader().setReorderingAllowed(false);//Was also able to do this within NetBeans GUI Builder by doing Table …Run Code Online (Sandbox Code Playgroud) 我有一个简单的JComboBox过滤器代码,如下所示:
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class FilterComboBox extends JComboBox {
private List<String> array;
public FilterComboBox(List<String> array) {
super(array.toArray());
this.array = array;
this.setEditable(true);
final JTextField textfield = (JTextField) this.getEditor().getEditorComponent();
textfield.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent ke) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
comboFilter(textfield.getText());
}
});
}
});
}
public void comboFilter(String enteredText) {
List<String> filterArray= new ArrayList<String>();
for (int i = 0; …Run Code Online (Sandbox Code Playgroud)