我有两个组合框,第一个项目是(女性和男性).我想当用户在第一个组合框中选择女性时,女性服装列表将出现在第二个组合框中,当男性被选中时,男士服装列表将出现在第二个.可以使用JCombo框执行此功能吗?如果是的话我该怎么办呢?请给我举个例子.任何帮助将不胜感激.
在我的 grails 应用程序中,在 tomcat 上运行并在应用程序服务器之间进行了会话复制,当我在 http 会话中保存地图时,如下所示,出现异常 GrailsParameterMap is not Serializable -
session.nextUrl = [controller: controllerName,
action: actionName,
params: params]
Run Code Online (Sandbox Code Playgroud)
当我按如下方式更改上述代码段时,即使 java.util.HashMap 实现了 Serializable,我也遇到了相同的异常。
java.util.Map nextUrl = new java.util.HashMap()
nextUrl.put("controller", controllerName)
nextUrl.put("action", actionName)
nextUrl.put("params", params)
session.setAttribute("nextUrl", nextUrl)
Run Code Online (Sandbox Code Playgroud)
我还可以看到会话中的 get/set 工作正常。
我该如何解决这个问题。
提前致谢, Prashant
我有运行可执行.jar文件的问题.我创建了一个包含.properties文件的项目.当我从eclipse启动它时,它工作得很好,但是当我将它导出到可执行的.jar文件并尝试运行它时:
java -jar myfile.jar
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
(无法在此处发布图片) http://imageshack.us/photo/my-images/824/29583616.png/
我已经检查了.jar中的清单文件,它包含了
Class-Path: .
Run Code Online (Sandbox Code Playgroud)
这是属性文件加载:
properties = new Properties();
properties.load(new FileInputStream(
"src/com/resources/treeView.properties"));
Run Code Online (Sandbox Code Playgroud)
知道导致这个异常的原因吗?
好的,所以我在这里非常沮丧.这段代码只是一个非常简单的移动JComponent.
奇怪的是,当我完全没有改变时,keyPressed事件将是非常不一致的.我启动程序,有时它会起作用,我的球会在屏幕上移动.另一方面,我将关闭它并打开它而不改变任何东西,它将无法工作.我不认为焦点是一个问题,虽然我真的不太了解它.我不知道是怎么回事.
任何帮助,将不胜感激.我只是没有看到该程序如何如此不一致地失败并取得成功.
这是我在角色课上的代码,因为我认为只给你一个片段会有所帮助.我不知道这只是我,还是其他什么,但如果你想编译它,看看,继续吧.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Character extends JComponent implements KeyListener
{
Timer timer = new Timer(5, new TimeListener());
private int x = 250;
private int y = 300;
char whichTimer;
public Character()
{
addKeyListener(this);
setFocusable(true);
requestFocusInWindow();
repaint();
}
public void keyReleased(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_W)
{
timer.stop();
}
if(e.getKeyCode() == KeyEvent.VK_A)
{
timer.stop();
}
if(e.getKeyCode() == KeyEvent.VK_S)
{
timer.stop();
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
timer.stop();
}
}
public void keyPressed(KeyEvent e)
{ …Run Code Online (Sandbox Code Playgroud) 所以,我正在制作一种文本编辑器,我需要一个JScrollPane来进行垂直导航.但我无法让它发挥作用.
我已经阅读了前十页谷歌搜索结果的每一个怪异教程,我无法让它发挥作用.
可以说我有JFrame(大小1000x800).我想在其中放置一个JPanel(1000x2000),以便它与JFrame水平对齐.我想在JPanel的右侧贴上一个简单的滚动条,这样我就可以了解其余内容.
我缩小了尺寸,我已经将JPanel添加到JScrollBar,反之亦然,将其中一个添加到JFrame,两者都没有,但没有.
所以,在这一点上,我不介意几行完成的代码......
编辑:很好,这是代码......
mWindow = new JFrame(lang.getString("title"));
mWindow.setSize(1000, 800);
mWindow.setLocationRelativeTo(null);
mWindow.setResizable(false);
mWindow.setLayout(null);
mWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mWindow.setVisible(true);
workspace = new JPanel();
workspace.setBounds(0,0, 1000, 1203);
workspace.setBackground(Color.RED);
scroll = new JScrollPane(workspace, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setBounds(0, 20, 600, 600);
//scroll.setLayout(null);
mWindow.getContentPane().add(scroll);
mWindow.repaint();
mWindow.validate();
Run Code Online (Sandbox Code Playgroud)
这显示了JPanel的一部分(600X600,(JScrollPane大小)),并显示滚动条,但不可滚动
我有一个带有Editor类(带有JTextPane)和Toolbar类的主类(带有JList和Jbutton,我不想使用JToolBar).这两个类由许多组件组成,我不想将它们混合到同一个类中.我希望编辑器和工具栏进行通信.假设我在工具栏中写了"Hello",然后点击Submit.我希望文本窗格显示"Hello".我用这种方式构建类:
public class Main{
public MainGUI(){
initComponents();
}
private void initComponents(){
JFrame mainframe=new JFrame("Main Frame");
Editor editor=new Editor();
Toolbar toolbar=new Toolbar();
mainframe.getContentPane().setLayout(new BorderLayout());
mainframe.getContentPane().add(editor, BorderLayout.CENTER);
mainframe.getContentPane().add(toolbar, BorderLayout.NORTH);
mainframe.setVisible(true);
}
}
public class Editor extends JPanel{
public Editor(){
super();
initComponents();
}
private void initComponents(){
JTextPane textpane=new JTextPane();
this.setLayout(new BorderLayout());
this.add(textpane, BorderLayout.CENTER);
}
}
public class Toolbar extends JPanel{
public Toolbar(){
super();
initComponents();
}
private void initComponents(){
JTextField textfield=new JTextField();
JButton submitbutton=new JButton("Submit");
this.setLayout(newFlowLayout());
this.add(textfield);
this.add(submitbutton);
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何在工具栏和编辑器之间实现事件处理?
我正在开发一个使用Spring和Hibernate的项目.我有一个包含SessionFactory的抽象DAO.我需要为我的单元测试模拟SessionFactory或Session.但到目前为止我还没有成功.下面是代码.任何人有任何想法?谢谢.
这是我的AbstractDAO
public abstract class AbstractDAO {
protected JdbcTemplate jdbcTemplate;
protected SessionFactory sessionFactory;
protected NamedParameterJdbcTemplate namedParameterJdbcTemplate;
...
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}}
Run Code Online (Sandbox Code Playgroud)
这是我的ConcreteDAO
public class LoginDAO extends AbstractDAO implements InitializingBean {
...
public User getLoggedinUserByUserid(Long userid){
log.info("in getLoggedinUserByUserid");
User result = null;
Session session = sessionFactory.openSession();
try {
session.beginTransaction();
result = (User) session.get(User.class, userid);
session.getTransaction().rollback();
session.close();
} catch (Exception e) {
log.error(e,e);
session.getTransaction().rollback();
session.close();
}
return result;
}
...}
Run Code Online (Sandbox Code Playgroud)
这是我的测试课
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "LoginDAOTest-context.xml" …Run Code Online (Sandbox Code Playgroud) 我在查找如何使用HTML设置JList的选定文本的颜色时遇到问题.
使用Java Swing和HTML我已经设法为我的JList中的每个String的特定部分着色,我的示例如下所示:

这是理想的,因为我可以为每个条目设置多种不同的颜色!
但是,选择文本时,只有默认的黑色文本变为白色!html颜色的文本保持其颜色而不是变成白色,这导致一些非常难以阅读的文本的某些颜色:

如何在选择时设置文本颜色?
我已经尝试在JList上使用JList的setSelectionForeground(Color.WHITE)方法,但它不影响html颜色的文本(尽管它确实影响了非html颜色的文本)
我还阅读了Oracle的HTML-in-Swing教程(我首先发现了HTML着色)但找不到解决方案.
这是我的简短示例的代码:
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.UIManager;
import java.awt.Color;
public class JListSelectionColorTest extends JFrame {
private String[] exampleText = {"Some example text without any color changes",
"Some more example text without color changes",
"Even more plain text!",
"<html>Uncolored Text! <font color=orange>Now some example Text with color!</font> more Uncolored Text!</html>",
"<html>Uncolored Text! <font color=green>And some more example text with color! Text, Text, Text!</font> more Uncolored Text!</html>",
"<html>Uncolored Text! <font color=red>A string with red …Run Code Online (Sandbox Code Playgroud) 随着Marionette取代FirefoxDriver,我需要配置我的测试来运行它.我已经下载了二进制文件,但我似乎无法将我的Capybara驱动程序注册配置为实际使用Marionette.
Capybara.register_driver :selenium_firefox do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox
capabilities["firefox_binary"] = 'path/to/marionette/renamed/to/wires'
Capybara::Selenium::Driver.new(app, browser: :firefox, desired_capabilities: capabilities)
end
Run Code Online (Sandbox Code Playgroud)
当我开始测试时,我只是得到FF的初始页面,就像我试图在没有牵线木偶的情况下运行它一样.
对不起我的英语不好.我在使用JTextField和KeyListener时遇到了一些问题.我有以下代码:
package com.gugnovich.tasks;
@SuppressWarnings("serial")
public class Task1Panel extends Task {
private static final String zLabel = "Please enter Z:";
private static final String eLabel = "Please enter E:";
private static final double K = 1.4;
private JTextField zField;
private JTextField eField;
private JTextField result;
private double zVal;
private double eVal;
private double resultVal;
@Override
protected void displayTaskPanel() {
/** Panel settings */
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
setBorder(new EmptyBorder(10, 15, 10, 10));
/** Add title of the task */
JLabel title = …Run Code Online (Sandbox Code Playgroud)