Add limit top & bottom, add mousewheel
This commit is contained in:
parent
0ece74282d
commit
48460e53f1
|
|
@ -22,6 +22,7 @@ public class JPanelConversation extends JPanel
|
|||
private int offset = 0;
|
||||
private boolean initialized = false;
|
||||
private int maxCharByLine = 50;
|
||||
private int fullHeight = -1;
|
||||
|
||||
|
||||
JPanelConversation(MaJFrame mjf, ArrayList<Message> messages) {
|
||||
|
|
@ -90,7 +91,7 @@ public class JPanelConversation extends JPanel
|
|||
|
||||
|
||||
public void calculateOffsetToShowLastMessage() {
|
||||
int fullHeight = getFullHeightMessage();
|
||||
fullHeight = getFullHeightMessage();
|
||||
if (fullHeight>getHeight()) {
|
||||
offset = fullHeight-getHeight();
|
||||
}
|
||||
|
|
@ -98,10 +99,12 @@ public class JPanelConversation extends JPanel
|
|||
|
||||
public void up(int x) {
|
||||
offset = offset + x;
|
||||
if (offset>(fullHeight-getHeight())) offset=(fullHeight-getHeight());
|
||||
}
|
||||
|
||||
public void down(int x) {
|
||||
offset = offset - x;
|
||||
if (offset<0) offset=0;
|
||||
}
|
||||
|
||||
public void paintComponent(Graphics g) {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import java.awt.event.ComponentAdapter;
|
|||
import java.awt.event.ComponentEvent;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseMotionListener;
|
||||
import java.awt.event.MouseWheelEvent;
|
||||
import java.awt.event.MouseWheelListener;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.swing.AbstractAction;
|
||||
|
|
@ -20,7 +22,7 @@ import javax.swing.SwingConstants;
|
|||
import javax.swing.border.EmptyBorder;
|
||||
import javax.swing.border.LineBorder;
|
||||
|
||||
public class MaJFrame extends JFrame implements MouseMotionListener{
|
||||
public class MaJFrame extends JFrame implements MouseMotionListener, MouseWheelListener{
|
||||
|
||||
private static final long serialVersionUID = 7252959164975426293L;
|
||||
private JPanel contentPane;
|
||||
|
|
@ -84,6 +86,8 @@ public class MaJFrame extends JFrame implements MouseMotionListener{
|
|||
conversationPanel = new JPanelConversation(this, messages);
|
||||
conversationPanel .setBackground(Color.WHITE);
|
||||
conversationPanel.addMouseMotionListener(this);
|
||||
conversationPanel.addMouseWheelListener(this);
|
||||
|
||||
contentPane.add(conversationPanel, BorderLayout.CENTER);
|
||||
setContentPane(contentPane);
|
||||
|
||||
|
|
@ -137,4 +141,13 @@ public class MaJFrame extends JFrame implements MouseMotionListener{
|
|||
|
||||
|
||||
|
||||
@Override
|
||||
public void mouseWheelMoved(MouseWheelEvent e) {
|
||||
if (e.getWheelRotation() < 0) {
|
||||
up(20);
|
||||
} else {
|
||||
down(20);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue