我的目标是实现用户写入JTextPane的关键字的蓝色着色.这就是我的代码的样子:
private class DocumentHandler implements DocumentListener {
@Override
public void changedUpdate(DocumentEvent ev) {
}
@Override
public void insertUpdate(DocumentEvent ev) {
highlight();
}
@Override
public void removeUpdate(DocumentEvent ev) {
highlight();
}
private void highlight() {
String code = codePane.getText();
SimpleAttributeSet defSet = new SimpleAttributeSet();
StyleConstants.setForeground(defSet, Color.BLACK);
doc.setCharacterAttributes(0, code.length(), defSet, true);
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstants.setForeground(set, Color.BLUE);
for (String keyword : keywords) {
Pattern pattern = Pattern.compile(keyword + "(\\[\\])*");
Matcher matcher = pattern.matcher(code);
while (matcher.find()) {
//Just for test
System.out.print("Start index: …Run Code Online (Sandbox Code Playgroud) 我想只更改JTree图标的第一个节点.有一个JTree用于显示文件的文件管理器.这是一个示意图.如何更改图标?
Back |->Please wait(this is leaf) Folder 1 |->file1 file2 file3 Folder 2 |->file1 file2 file3 Folder 3 |->file1 file2 file3
我正在创建一个excel文档的图形时间轴,我需要在该事件的标记旁边有一个小事件名称标签.其中一些很容易,并且是正确的,但其他一些是合理的,我需要弄清楚它们的宽度,以便我可以正确地抵消它们.
window.drawString("7/4-Fourth of July",horizontalIndex-Offset,verticalIndex);
Run Code Online (Sandbox Code Playgroud)
目前我使用平均值为10和32的平均值来平均像素宽度,但这并没有真正削减它.有人可以帮助我获得确切的偏移吗?
因此,您可能知道,如果您有一个文本字段并且向其添加了ActionListener,它将只收听Enter按钮的按键.但是,我想让我的ActionListener监听文本中的更改.所以基本上我有这个:
public static JPanel mainPanel() {
JPanel mainp = new JPanel();
JTextArea areap = new JTextArea("Some text in the textarea");
JTextField fieldp = new JTextField("Edit this");
areap.setEditable(false);
fieldp.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(//change in textfield, for instance a letterpress or space bar)
{
//Do this
}
}
});
mainp.add(areap);
mainp.add(fieldp);
return mainp;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过任何方式收听文本中的更改(如actionPerformed事件中记录的那样)?
我想在Java中有一个显示箭头的按钮 - 就像在键盘上一样.到目前为止,我有这个
JButton arrowUp = new JButton("^");
JButton arrowDown = new JButton("v");
JButton arrowLeft = new JButton("<");
JButton arrowRight = new JButton(">");
Run Code Online (Sandbox Code Playgroud)
它有点工作......但看起来不太好看.
任何帮助如何改善这一点是值得赞赏的
如何通过按JButton来调用方法?
例如:
when JButton is pressed
hillClimb() is called;
Run Code Online (Sandbox Code Playgroud)
我知道如何在按下JButton时显示消息等,但想知道是否可以这样做?
非常感谢.
在其他语言中,如VB,C#,在您希望用户输入日期的情况下,例如在文本框中,我们可以在您点击它时显示日历.因此,用户可以单击相应的日期,该日期将被放入文本框中.
通过这种方式,我们可以摆脱由于日期格式不正确而导致的问题.我需要知道如何在java中实现这一点?
实际上,我需要将它与JTable相结合.有一列需要输入日期.但是用户可以以各种格式输入日期.所以我想到了这样的事情.希望有一种方法可以轻松地做到这一点.
有谁请告诉我如何做到这一点.任何帮助是极大的赞赏..
谢谢.
我有一个JTable及其TableModel,它运行良好,但我现在要做的是获取它的选定单元格.我想过做的事情:
int rows = this.getTable().getRowCount();
int columns = this.getTable().getColumnCount();
for(int i = 0 ; i < rows ; i++)
{
for(int j = 0 ; j < columns ; j++)
{
if(table.getCell(i,j).isSelected() //...
}
}
Run Code Online (Sandbox Code Playgroud)
但当然这样的事情不存在.我该怎么做呢?
public class LoginTest {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("IRCBotPU");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Login lg = new Login();
lg.setPassword("password");
lg.setUserName("Rocky");
em.persist(lg);
em.flush();
Login st = em.find(Login.class, lg.getPassword());
System.out.println(st);
em.getTransaction().commit();
em.close();
emf.close();
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行这个类时,我遇到了异常
javax.persistence.PersistenceException: No Persistence provider for EntityManager named IRCBotPU:
No META-INF/persistence.xml was found in classpath.
Run Code Online (Sandbox Code Playgroud)
META-INF/persistence.xml在我的类路径中.我不知道是什么原因或这个例外.
持久性库是TopLink.
我正在尝试找出管理工作流的最佳方式,以允许使用Maven和Git进行版本编号和发布.
目前我的工作流程是:
我做"主"分支中的所有工作,除非我需要做一些实验(在这种情况下我切换到一个新的分支,定期合并)
这是一个明智的工作流程吗?我可以通过任何方式改进它.