您好,我做了一个public class UnitOfWork : IUnitOfWork
{
//Db context
Infomaster _dbContext;
//User is a model from my EF
public IRepository<User> UserRepository { get; private set; }
public UnitOfWork()
{
_dbContext = new Infomaster();
UserRepository = new Repository<User>(_dbContext);
}
public int Commit()
{
return _dbContext.Save();
}
}
,并且想在单击按钮时调用actionlistener
方法吗?
我已经用谷歌搜索了,但是没有运气。
这里是paintComponent
,
actionlisetener
这是方法
graf.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
graf();
}
怎么称呼它?
任何帮助将不胜感激。
答案 0 :(得分:1)
覆盖您要绘制的paintComponent
对象的JComponent
方法。
JComponent c = new JComponent() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = Integer.parseInt(xinwindow.getText());
int hight = Integer.parseInt(yinwindow.getText());
g.setColor(Color.black);
g.drawLine((width/2)- 1, 0, (width/2) +1 , hight);
}
}
然后添加
c.revalidate();
c.repaint();
处理actionPerformed
中的点击后。
答案 1 :(得分:0)
您应该从一些示例开始,以构建GUI。
static
用于一个曾经发生的全局实例;每堂课一个。尝试删除所有内容,仅删除程序的入口点:
public static void main(String args) {
JFrame appWindow = new MyFrame();
SwingUtilities.invokeLater(() -> appWindow->setVisible(true));
}
public class MyFrame extends JFrame {
private MyPanel panel;
public MyFrame() {
panel = new MyPanel();
add(panel);
panel.addClickListener(evt -> panel.repaint(50L));
}
}
public class MyPanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.RED);
g2.drawRectangle(40, 40, getWidth() - 80, getHeight() - 80);
}
}
其机制如下:
repaint
到面板。repaintComponent
。在paintComponent
中,所有较新的Java版本的Graphics
参数实际上是一个Graphics2D
,它具有许多不错的方法。