Вот фрагмент кода:
import java.awt.BorderLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
/**
*
* @author mohammadfaisal
* http://ermohammadfaisal.blogspot.com
* http://facebook.com/m.faisal6621
*
*/
public class CodeMagnets extends JFrame{
private JTextArea area4Label;
private JLabel codeLabel;
private JButton createButton;
private JPanel magnet;
public CodeMagnets(String title) throws HeadlessException {
super(title);
magnet=new JPanel(null);
JScrollPane magnetScroller=new JScrollPane(magnet);
magnetScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
magnetScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
add(BorderLayout.CENTER, magnetScroller);
JPanel inputPanel=new JPanel();
area4Label=new JTextArea(5, 30);
area4Label.setTabSize(4);
JScrollPane textScroller=new JScrollPane(area4Label);
inputPanel.add(textScroller);
createButton=new JButton("Create code magnet");
createButton.addActionListener(new MyButtonListener());
inputPanel.add(createButton);
add(BorderLayout.SOUTH, inputPanel);
//pack();
setSize(640, 480);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class MyButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
codeLabel=new CodeLabel(area4Label.getText());
codeLabel.setSize(getPreferredSize());
codeLabel.setLocation(10, 10);
magnet.add(codeLabel);
magnet.repaint();
}
}
public static void main(String[] args) {
new CodeMagnets("Code Magnets");
}
}
..
class CodeLabel extends JLabel{
int initX;
int initY;
int screenX;
int screenY;
public CodeLabel(String title){
super(title);
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e){
screenX=e.getXOnScreen();
screenY=e.getYOnScreen();
initX=getX();
initY=getY();
}
});
addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e){
int deltaX=e.getXOnScreen()-screenX;
int deltaY=e.getYOnScreen()-screenY;
setLocation(initX+deltaX, initY+deltaY);
}
});
setBorder(BorderFactory.createLineBorder(Color.BLACK));
}
}
Здесь сгенерированная метка имеет большую и широкую границу.Я хочу, чтобы он был меньше, а также должен отображать количество строк, которое я хотел (используя html для создания метки).
Помогите мне !!!1012 *