Не используйте setBounds () для установки размера и местоположения компонента.
Пусть менеджер компоновки выполняет свою работу. То есть, если факт, что происходит. JPanel использует FlowLayout
, поэтому компоненты размещаются на основе правил FlowLayout. Вы можете изменить FlowLayout, чтобы выровнять компоненты слева, если хотите. Или вы можете использовать другой менеджер компоновки.
Прочитайте руководство Swing в Менеджерах макетов , чтобы найти другие менеджеры макетов, которые вы можете использовать.
вместо получения newsId вы можете просто передать его в качестве параметра в click
(click)="loadnewsdetail(news.NewsId)"
и получить его вот так.
loadnewsdetail(newsId) {
alert(newsId);
}
или, если вы хотите получить атрибут, вы можете передать событие в функцию (на самом деле не требуется в вашем случае). но вот как вы можете это сделать.
(click)="loadnewsdetail($event)"
и получите это значение, используя
loadnewsdetail(newsId) {
alert(newsId.target.getAttribute("newsid"));
}